SAML 2.0 applikationsregistrering

FoxIDs SAML 2.0 applikationsregistrering gör det möjligt att ansluta en SAML 2.0 baserad applikation.

SAML (Security Assertion Markup Language) 2.0 är en XML-baserad standard för autentisering och auktorisering som möjliggör säker single sign-on (SSO) mellan en identity provider (IdP) och en service provider (SP). FoxIDs stöder både SP-initierad inloggning och IdP-initierad inloggning.

FoxIDs SAML 2.0 application registration

Din applikation blir en SAML 2.0 Relying Party (RP), och FoxIDs fungerar som en SAML 2.0 Identity Provider (IdP).

FoxIDs stöder SAML 2.0 redirect och post bindings.

FoxIDs vidarebefordrar också en login hint från URL:en i SAML Authn-begäran med antingen query-parametern login_hint eller LoginHint när begäran inte innehåller ett NameID. Det gör det möjligt för relying parties som Microsoft Entra ID och Okta att förifylla användaridentifieraren i FoxIDs inloggningsupplevelse.

En applikationsregistrering exponerar SAML 2.0 metadata, så att din applikation kan upptäcka SAML 2.0 Identity Providern (IdP).

FoxIDs stöder login-, logout- och single logout-SAML 2.0 profiler. Artifact-profilen stöds inte.

Den FoxIDs-genererade SAML 2.0 metadata innehåller bara logout- och single logout-information om logout är konfigurerad i SAML 2.0 applikationsregistreringen.

FoxIDs stöder både RSA- och ECDSA-certifikat som SAML-certifikat för signaturvalidering. Signaturvalidering kan acceptera flera tillåtna algoritmer, vilket gör det möjligt att lita på relying parties som signerar SAML requests med antingen RSA- eller ECDSA-certifikat, samtidigt som äldre RSA-SHA-1 är avstängt som standard.

Guider:

Konfiguration

Så här konfigurerar du din applikation som en SAML 2.0 Relying Party (RP).

Metadata endpoints

  • IdP-metadata: https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/idpmetadata (ersätt tenant-x, environment-y och application-saml-pr1 med dina värden).
  • Alternativt gemensamt endpoint: Authn-endpointet returnerar också IdP-metadata när det anropas med GET och utan SAMLRequest. Det gör det möjligt för partners som kräver en URL för både nedladdning av metadata och Authn-begäranden att använda samma adress, till exempel https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. När samma endpoint tar emot en SAML AuthnRequest via redirect eller post binding utförs det normala inloggningsflödet.

En applikationsregistrering kan stödja inloggning via flera autentiseringsmetoder genom att lägga till autentiseringsmetodens namn i URL:en.

Till exempel riktar https://foxids.com/tenant-x/environment-y/application-saml-pr1(login)/saml/idpmetadata eller /saml/authn in sig på inloggningsmetoden login. Du kan också använda standardnotationen * för att aktivera inloggning med alla autentiseringsmetoder.

Skärmbilden nedan visar konfigurationen av en FoxIDs SAML 2.0 applikationsregistrering i FoxIDs Control Client. Här skapas konfigurationen från applikationens metadata. Utfärdade claims begränsas till den konfigurerade uppsättningen claims, och du kan använda notationen * för att utfärda alla claims.

Fler konfigurationsalternativ blir tillgängliga när du klickar på Show advanced.

Configure SAML 2.0

Du kan ändra SAML 2.0 claim collection och implementera claim tasks med claim transforms och claim tasks. Om du skapar en ny claim ska du lägga till claimen eller * i listan Issue claims för att utfärda claimen till din applikation.

Säkerhet och interoperabilitet

Avancerade SAML säkerhetsinställningar är tillgängliga genom att klicka på Show advanced i SAML 2.0 applikationsregistreringen.

  • Signature algorithm styr algoritmen FoxIDs använder när SAML responses eller assertions signeras. RSA-SHA-256 är standard.
  • Signature validation algorithms är en tillåtelselista för inkommande signerade SAML requests och logout-meddelanden från relying party. Standardlistan innehåller de stödda RSA-SHA-256/384/512 och ECDSA-SHA-256/384/512 algoritmerna och exkluderar RSA-SHA-1.
  • SAML signaturvalideringscertifikat stöder både RSA- och ECDSA-certifikat, så ett relying party kan använda båda certifikattyperna när SAML requests och logout-meddelanden signeras.
  • Encrypt authn response krypterar assertion i SAML authentication response. När funktionen är aktiverad ska relying party encryption certificate anges, och vid behov för interoperabilitet kan Encryption algorithm och Key encryption algorithm väljas.

Data encryption algoritmer som stöds är AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-GCM, AES-192-GCM och AES-256-GCM. AES-256-CBC är standard.

Key encryption algoritmer som stöds är RSA 1.5, RSA-OAEP och XML Encryption 1.1 RSA-OAEP. RSA-OAEP är standard. Använd endast RSA 1.5 när ett äldre relying party kräver det.

Kräv multifaktorautentisering (MFA)

SAML 2.0 Relying Party (RP) kan kräva MFA genom att inkludera urn:foxids:mfa i RequestedAuthnContext.AuthnContextClassRef. Du kan kombinera den med mer specifika värden som urn:foxids:link. Se begär MFA från applikationer.

Du kan hitta exempelkod i AspNetCoreSamlSample och filen SamlController.cs. Egenskapen AuthnContextClassRef kan sättas i metoden Login i SamlController.cs:

public IActionResult Login(string returnUrl = null)
{
    var binding = new Saml2RedirectBinding();
    binding.SetRelayStateQuery(new Dictionary<string, string>
    {
        { relayStateReturnUrl, returnUrl ?? Url.Content("~/") }
    });

    var saml2AuthnRequest = new Saml2AuthnRequest(saml2Config)
    {
        // To require MFA
        RequestedAuthnContext = new RequestedAuthnContext
        {
            Comparison = AuthnContextComparisonTypes.Exact,
            AuthnContextClassRef = new string[] { "urn:foxids:mfa" },
        }
    };

    return binding.Bind(saml2AuthnRequest).ToActionResult();
}