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.
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:
- Anslut AD FS
- Anslut Amazon IAM Identity Center
- Anslut Google Workspace
- Anslut Microsoft Entra ID
- Anslut Context Handler test IdP (Danish identity broker)
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ätttenant-x,environment-yochapplication-saml-pr1med dina värden). - Alternativt gemensamt endpoint: Authn-endpointet returnerar också IdP-metadata när det anropas med
GEToch utanSAMLRequest. 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 exempelhttps://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.

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 listanIssue claimsfö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();
}