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.
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 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.
Vejledninger:
- Forbind AD FS
- Forbind Amazon IAM Identity Center
- Forbind Google Workspace
- Forbind Microsoft Entra ID
- Forbind Context Handler test IdP (Danish identity broker)
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(erstattenant-x,environment-yogapplication-saml-pr1med dine værdier). - Alternativt samlet endpoint: Authn-endpointet returnerer også IdP-metadata, når det kaldes med
GETog uden enSAMLRequest. 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 eksempelhttps://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.

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 listenIssue claimsfor at udstede claimen til din applikation.
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();
}