SAML 2.0 applicatieregistratie
FoxIDs SAML 2.0 applicatieregistratie maakt het mogelijk om een SAML 2.0 gebaseerde applicatie te koppelen.
SAML (Security Assertion Markup Language) 2.0 is een XML-gebaseerde standaard voor authenticatie en autorisatie die veilige single sign-on (SSO) mogelijk maakt tussen een identity provider (IdP) en een service provider (SP). FoxIDs ondersteunt zowel SP-gestuurde als IdP-gestuurde login.
Uw applicatie wordt een SAML 2.0 Relying Party (RP) en FoxIDs fungeert als een SAML 2.0 Identity Provider (IdP).
FoxIDs ondersteunt SAML 2.0 redirect en post bindings.
FoxIDs stuurt ook een login hint door vanuit de URL van het SAML Authn-verzoek via de query-parameter login_hint of LoginHint wanneer het verzoek geen NameID bevat. Daardoor kunnen relying parties zoals Microsoft Entra ID en Okta de gebruikersidentifier vooraf invullen in de FoxIDs login-ervaring.
Een applicatieregistratie publiceert SAML 2.0 metadata, zodat uw applicatie de SAML 2.0 Identity Provider (IdP) kan ontdekken.
FoxIDs ondersteunt login-, logout- en single logout-SAML 2.0 profiles. Het Artifact-profiel wordt niet ondersteund.
De door FoxIDs gegenereerde SAML 2.0 metadata bevatten alleen logout- en single logout-informatie als logout is geconfigureerd in de SAML 2.0 applicatieregistratie.
Handleidingen:
- Verbind AD FS
- Verbind Amazon IAM Identity Center
- Verbind Google Workspace
- Verbind Microsoft Entra ID
- Verbind Context Handler test IdP (Danish identity broker)
Configuratie
Zo configureert u uw applicatie als een SAML 2.0 Relying Party (RP).
Metadata-endpoints
- IdP-metadata:
https://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/idpmetadata(vervangtenant-x,environment-yenapplication-saml-pr1door uw waarden). - Alternatief enkel endpoint: het Authn-endpoint retourneert ook de IdP-metadata wanneer het via
GETen zonderSAMLRequestwordt aangeroepen. Hiermee kunnen partners die één URL nodig hebben voor zowel metadata-download als Authn-verzoeken hetzelfde adres gebruiken, bijvoorbeeldhttps://foxids.com/tenant-x/environment-y/application-saml-pr1(*)/saml/authn. Wanneer hetzelfde endpoint een SAML AuthnRequest ontvangt via redirect of post binding, wordt de normale login-flow uitgevoerd.
Een applicatieregistratie kan login via meerdere authenticatiemethoden ondersteunen door de naam van de authenticatiemethode aan de URL toe te voegen.
Bijvoorbeeld, https://foxids.com/tenant-x/environment-y/application-saml-pr1(login)/saml/idpmetadata of /saml/authn richt zich op de loginmethode login. U kunt ook de standaardnotatie * gebruiken om login via alle authenticatiemethoden in te schakelen.
De onderstaande schermafbeelding toont de configuratie van een FoxIDs SAML 2.0 applicatieregistratie in de FoxIDs Control Client. Hier wordt de configuratie gemaakt op basis van de metadata van de applicatie. Uitgegeven claims worden beperkt tot de geconfigureerde set claims en u kunt de notatie * gebruiken om alle claims uit te geven.
Meer configuratieopties worden beschikbaar wanneer u op Show advanced klikt.

U kunt de SAML 2.0 claim collection wijzigen en claim tasks implementeren met claim transforms en claim tasks. Als u een nieuwe claim maakt, voeg de claim of
*toe aan de lijstIssue claimsom de claim aan uw applicatie uit te geven.
Multi-factor authenticatie (MFA) vereisen
De SAML 2.0 Relying Party (RP) kan MFA vereisen door urn:foxids:mfa op te nemen in RequestedAuthnContext.AuthnContextClassRef. U kunt dit combineren met specifiekere waarden zoals urn:foxids:link. Zie MFA aanvragen vanuit applicaties.
Voorbeeldcode vindt u in AspNetCoreSamlSample en in het bestand SamlController.cs. De eigenschap AuthnContextClassRef kan worden ingesteld in de methode Login in 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();
}