SAML 2.0 Anwendungsregistrierung
FoxIDs SAML 2.0 Anwendungsregistrierung ermöglicht es, eine SAML 2.0 basierte Anwendung zu verbinden.
SAML (Security Assertion Markup Language) 2.0 ist ein XML-basierter Standard für Authentifizierung und Autorisierung, der sicheres Single Sign-On (SSO) zwischen einem Identity Provider (IdP) und einem Service Provider (SP) ermöglicht. FoxIDs unterstützt sowohl SP-initiiertes als auch IdP-initiiertes Login.
Ihre Anwendung wird zu einer SAML 2.0 Relying Party (RP), und FoxIDs agiert als SAML 2.0 Identity Provider (IdP).
FoxIDs unterstützt SAML 2.0 Redirect und Post Bindings.
FoxIDs leitet außerdem einen Login Hint aus der URL der SAML Authn-Anfrage weiter, und zwar über den Query-Parameter login_hint oder LoginHint, wenn die Anfrage kein NameID enthält. Dadurch können Relying Parties wie Microsoft Entra und Okta die Benutzerkennung in der FoxIDs Anmeldeoberfläche vorbefüllen.
Eine Anwendungsregistrierung stellt SAML 2.0 Metadata bereit, sodass Ihre Anwendung den SAML 2.0 Identity Provider (IdP) entdecken kann.
FoxIDs unterstützt Login-, Logout- und Single Logout-SAML 2.0 Profile. Das Artifact-Profil wird nicht unterstützt.
Die von FoxIDs generierten SAML 2.0 Metadata enthalten nur Logout- und Single Logout-Informationen, wenn Logout in der SAML 2.0 Anwendungsregistrierung konfiguriert ist.
Anleitungen:
- Verbinde AD FS
- Verbinde Amazon IAM Identity Center
- Verbinde Google Workspace
- Verbinde Microsoft Entra ID
- Verbinde Context Handler test IdP (Danish identity broker)
Konfiguration
So konfigurieren Sie Ihre Anwendung als SAML 2.0 Relying Party (RP).
Metadata-Endpunkte
- IdP-Metadata:
https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/idpmetadata(ersetzen Sietenant-x,environment-yundapplication-saml-pr1durch Ihre Werte). - Alternativer einzelner Endpunkt: Der Authn-Endpunkt gibt die IdP-Metadata auch zurück, wenn er mit
GETund ohneSAMLRequestaufgerufen wird. Dadurch können Partner, die eine URL sowohl für den Download von Metadata als auch für Authn-Anfragen benötigen, dieselbe Adresse verwenden, zum Beispielhttps://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. Wenn derselbe Endpunkt eine SAML AuthnRequest per Redirect oder Post Binding erhält, führt er den normalen Login-Flow aus.
Eine Anwendungsregistrierung kann Login über mehrere Authentifizierungsmethoden unterstützen, indem der Name der Authentifizierungsmethode zur URL hinzugefügt wird.
Zum Beispiel adressiert https://foxids.com/tenant-x/environment-y/application-saml-pr1(login)/saml/idpmetadata oder /saml/authn die Login-Methode login. Sie können auch die Standardnotation * verwenden, um Login mit allen Authentifizierungsmethoden zu aktivieren.
Der folgende Screenshot zeigt die Konfiguration einer FoxIDs SAML 2.0 Anwendungsregistrierung im FoxIDs Control Client. Hier wird die Konfiguration aus den Metadata der Anwendung erstellt. Ausgegebene Claims werden auf die konfigurierte Menge von Claims begrenzt, und Sie können die Notation * verwenden, um alle Claims auszugeben.
Weitere Konfigurationsoptionen werden verfügbar, wenn Sie auf Show advanced klicken.

Sie können die SAML 2.0 Claim Collection ändern und Claim Tasks mit Claim Transforms und Claim Tasks implementieren. Wenn Sie einen neuen Claim erstellen, fügen Sie den Claim oder
*zur ListeIssue claimshinzu, um den Claim an Ihre Anwendung auszugeben.
Multi-Faktor Authentifizierung (MFA) anfordern
Die SAML 2.0 Relying Party (RP) kann MFA anfordern, indem urn:foxids:mfa in RequestedAuthnContext.AuthnContextClassRef eingefügt wird. Sie können dies mit spezifischeren Werten wie urn:foxids:link kombinieren. Siehe MFA von Anwendungen anfordern.
Beispielcode finden Sie im AspNetCoreSamlSample und in der Datei SamlController.cs. Die Eigenschaft AuthnContextClassRef kann in der Methode Login in SamlController.cs gesetzt werden:
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();
}