SAML 2.0 applikationsregistrering

FoxIDs SAML 2.0 applikationsregistrering gør det muligt at forbinde en SAML 2.0 baseret applikation.

SAML (Security Assertion Markup Language) 2.0 er en XML-baseret standard for autentificering og autorisation, som muliggør sikker single sign-on (SSO) mellem en identity provider (IdP) og en service provider (SP). FoxIDs understøtter både SP-initieret login og IdP-initieret login.

FoxIDs SAML 2.0 application registration

Din applikation bliver en SAML 2.0 Relying Party (RP), og FoxIDs fungerer som en SAML 2.0 Identity Provider (IdP).

FoxIDs understøtter SAML 2.0 redirect og post bindings.

FoxIDs videresender også et login hint fra URL'en i SAML Authn-anmodningen ved at bruge enten query-parametret login_hint eller LoginHint, når anmodningen ikke indeholder et NameID. Det gør det muligt for relying parties som Microsoft Entra ID og Okta at udfylde brugeridentifikatoren på forhånd i FoxIDs loginoplevelse.

En applikationsregistrering eksponerer SAML 2.0 metadata, så din applikation kan finde SAML 2.0 Identity Provideren (IdP).

FoxIDs understøtter login-, logout- og single logout-SAML 2.0 profiler. Artifact-profilen understøttes ikke.

De FoxIDs-genererede SAML 2.0 metadata indeholder kun logout- og single logout-oplysninger, hvis logout er konfigureret i SAML 2.0 applikationsregistreringen.

FoxIDs understøtter både RSA- og ECDSA-certifikater som SAML signaturvalideringscertifikater. Signaturvalidering kan acceptere flere tilladte algoritmer, så relying parties kan signere SAML requests med enten RSA- eller ECDSA-certifikater, mens ældre RSA-SHA-1 fortsat er deaktiveret som standard.

Vejledninger:

Konfiguration

Sådan konfigurerer 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 (erstat tenant-x, environment-y og application-saml-pr1 med dine værdier).
  • Alternativt samlet endpoint: Authn-endpointet returnerer også IdP-metadata, når det kaldes med GET og uden en SAMLRequest. Det gør det muligt for partnere, der kræver én URL til både metadata-download og Authn-anmodninger, at bruge samme adresse, for eksempel https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. Når det samme endpoint modtager en SAML AuthnRequest via redirect eller post binding, udfører det det normale loginflow.

En applikationsregistrering kan understøtte login gennem flere autentificeringsmetoder ved at tilføje autentificeringsmetodens navn til URL'en.

For eksempel målretter https://foxids.com/tenant-x/environment-y/application-saml-pr1(login)/saml/idpmetadata eller /saml/authn loginmetoden login. Du kan også bruge standardnotationen * til at aktivere login med alle autentificeringsmetoder.

Det følgende skærmbillede viser konfigurationen af en FoxIDs SAML 2.0 applikationsregistrering i FoxIDs Control Client. Her oprettes konfigurationen ud fra applikationens metadata. Udstedte claims begrænses til det konfigurerede sæt af claims, og du kan bruge notationen * til at udstede alle claims.

Flere konfigurationsmuligheder bliver tilgængelige, når du klikker Show advanced.

Configure SAML 2.0

Du kan ændre SAML 2.0 claim collection og implementere claim tasks med claim transforms og claim tasks. Hvis du opretter en ny claim, skal du tilføje claimen eller * til listen Issue claims for at udstede claimen til din applikation.

Sikkerhed og interoperabilitet

Avancerede SAML-sikkerhedsindstillinger bliver tilgængelige ved at klikke Show advanced i SAML 2.0 applikationsregistreringen.

  • Signature algorithm styrer den algoritme, FoxIDs bruger til at signere SAML responses eller assertions. RSA-SHA-256 er standard.
  • Signature validation algorithms er en allowlist for indgående signerede SAML requests og logout-beskeder fra relying party. Standard-allowlisten inkluderer de understøttede RSA-SHA-256/384/512 og ECDSA-SHA-256/384/512 algoritmer og ekskluderer RSA-SHA-1.
  • SAML signaturvalideringscertifikater understøtter både RSA- og ECDSA-certifikater, så et relying party kan bruge begge certifikattyper ved signering af SAML requests og logout-beskeder.
  • Encrypt authn response krypterer assertion i SAML authentication response. Når funktionen er aktiveret, skal relying party encryption certificate uploades, og hvis det kræves for interoperabilitet, kan Encryption algorithm og Key encryption algorithm vælges.

Understøttede data encryption algorithms er AES-128-CBC, AES-192-CBC, AES-256-CBC, AES-128-GCM, AES-192-GCM og AES-256-GCM. AES-256-CBC er standard.

Understøttede key encryption algorithms er RSA 1.5, RSA-OAEP og XML Encryption 1.1 RSA-OAEP. RSA-OAEP er standard.

Aktivér kun RSA-SHA-1 eller RSA 1.5, hvis det kræves af en ældre SAML-party.

Kræv multi-faktor autentificering (MFA)

SAML 2.0 Relying Party (RP) kan kræve MFA ved at inkludere urn:foxids:mfa i RequestedAuthnContext.AuthnContextClassRef. Du kan kombinere den med mere specifikke værdier som urn:foxids:link. Se anmod om MFA fra applikationer.

Du kan finde eksempelkode i AspNetCoreSamlSample og filen SamlController.cs. Egenskaben AuthnContextClassRef kan sættes 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();
}