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. Die beiden SAML 2.0 Flows: SP-Initiated Login Flow und IdP-Initiated Login Flow werden standardmäßig unterstützt.
Ihre Anwendung wird eine 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 SAML Authn request URL weiter, indem entweder der Query Parameter login_hint oder LoginHint verwendet wird, wenn die Anfrage keine NameID enthält. Damit können Relying Parties wie Microsoft Entra und Okta die Benutzerkennung in der FoxIDs Login Experience vorbefüllen.
Eine Anwendungsregistrierung stellt SAML 2.0 metadata bereit, über die Ihre Anwendung den SAML 2.0 Identity Provider (IdP) entdecken kann.
Login, Logout und Single Logout SAML 2.0 profiles werden unterstützt. Das Artifact Profil wird nicht unterstützt.
Die von FoxIDs generierten SAML 2.0 Metadata enthalten Logout- und Single Logout Informationen nur, wenn Logout in der SAML 2.0 Anwendungsregistrierung konfiguriert ist.
How to guides:
- Verbinden Sie Amazon IAM Identity Center
- Verbinden Sie Context Handler Test IdP (dänischer Identity Broker)
Configuration
So konfigurieren Sie Ihre Anwendung als SAML 2.0 Relying Party (RP).
Metadata endpoints
- IdP metadata:
https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/idpmetadata(ersetzen Sietenant-x,environment-yundapplication-saml-pr1durch Ihre Werte). - Alternativer Single Endpoint: Der Authn Endpoint gibt auch die IdP Metadata zurück, wenn er per
GETund ohne eineSAMLRequestaufgerufen wird. So können Partner, die eine URL für Metadatendownload und Authn Requests benötigen, dieselbe Adresse verwenden, z. B.https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. Wenn derselbe Endpoint eine SAML AuthnRequest (via redirect oder post binding) erhält, wird der normale Login Flow ausgeführt.
Eine Anwendungsregistrierung kann Login über mehrere authentication methods unterstützen, indem der Name der authentication method zur URL hinzugefügt wird.
Zum Beispiel zielt https://foxids.com/tenant-x/environment-y/application-saml-pr1(login)/saml/idpmetadata (oder /saml/authn) auf die login Methode.
Sie können auch die Standard * Notation verwenden, um Login mit allen authentication methods zu aktivieren.
Der folgende Screenshot zeigt die Konfiguration einer FoxIDs SAML 2.0 Anwendungsregistrierung in FoxIDs Control Client.
Hier wird die Konfiguration mit den Metadaten der Anwendung erstellt. Die ausgestellten Claims sind auf den konfigurierten Satz begrenzt; alle Claims können mit der * Notation ausgestellt werden.
Weitere Konfigurationsoptionen werden durch Klick auf Show advanced verfügbar.

Sie können SAML 2.0 claim collection ändern und claim tasks mit claim transforms und claim tasks durchführen. Wenn Sie einen neuen Claim erstellen, fügen Sie den Claim oder
*zur ListeIssue claimshinzu, um den Claim an Ihre Anwendung auszugeben.
Require multi-factor authentication (MFA)
Die SAML 2.0 Relying Party (RP) kann Multi Factor Authentication verlangen, indem der Wert urn:foxids:mfa in der Eigenschaft RequestedAuthnContext.AuthnContextClassRef angegeben wird.
Beispielcode finden Sie im Sample AspNetCoreSamlSample 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();
}