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.

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.

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();
}
Din integritet

Din integritet

Vi använder cookies för att göra din upplevelse av våra webbplatser bättre. Klicka på 'Acceptera alla cookies' för att godkänna användningen av cookies. För att avstå från icke-nödvändiga cookies, klicka på 'Endast nödvändiga cookies'.

Besök vår integritetspolicy för mer