Méthode d’authentification SAML 2.0
Méthode d’authentification SAML 2.0 de FoxIDs qui fait confiance à un fournisseur d’identité SAML 2.0 (IdP) externe.
SAML (Security Assertion Markup Language) 2.0 est un standard ouvert pour l’échange de données d’authentification et d’autorisation entre un fournisseur d’identité (IdP) et un fournisseur de services (SP). Il permet le Single Sign-On (SSO), en autorisant les utilisateurs à se connecter une fois et à accéder à plusieurs applications sans se réauthentifier.
Les deux flux SAML 2.0 sont pris en charge. Le flux de connexion initié par le SP, qui est le flux par défaut, le plus courant et recommandé, et le flux de connexion initiée par l’IdP.
SAML 2.0 est largement utilisé dans les environnements d’entreprise, permettant une fédération d’identité sécurisée entre différentes organisations et applications.
En configurant une méthode d’authentification SAML 2.0 et un enregistrement d’application OpenID Connect, FoxIDs devient un bridge entre SAML 2.0 et OpenID Connect. FoxIDs gère alors la connexion SAML 2.0 en tant que Relying Party (RP) / Service Provider (SP) et vous n’avez plus qu’à vous soucier d’OpenID Connect dans votre application.
Il est possible de configurer plusieurs méthodes d’authentification SAML 2.0 qui peuvent ensuite être sélectionnées par les enregistrements d’applications OpenID Connect et les enregistrements d’applications SAML 2.0.
Configurez la connexion initiée par l’IdP et transférez la connexion vers les applications SAML 2.0 et OpenID Connect.
FoxIDs prend en charge les bindings SAML 2.0 redirect et post. Les profils SAML 2.0 de connexion, de déconnexion et de Single Logout sont pris en charge. Le profil Artifact n’est pas pris en charge.
Une méthode d’authentification expose les métadonnées SAML 2.0 et peut être configurée avec les métadonnées SAML 2.0 ou en ajoutant manuellement les détails de configuration.
Les métadonnées SAML 2.0 générées par FoxIDs ne contiennent des informations de logout et de single logout que si le logout est configuré dans la méthode d’authentification SAML 2.0.
FoxIDs prend en charge tous les fournisseurs d’identité SAML 2.0 (IdP) et a été testé avec une large gamme d’IdP.
Guides pratiques :
- Connecter PingIdentity / PingOne
- Connecter Google Workspace
- Connecter Microsoft AD FS
- Connecter NemLog-in (IdP danois)
- Connecter Context Handler (broker d’identité danois)
- Connecter deux environnements FoxIDs dans le même tenant avec un Environment Link
Configuration
Comment configurer un fournisseur d’identité SAML 2.0 (IdP) externe.
L’endpoint des métadonnées de la méthode d’authentification SAML 2.0 FoxIDs est
https://foxids.com/tenant-x/environment-y/(some_external_idp)/saml/spmetadata. Si l’IdP est configuré dans le tenanttenant-xet l’environnementenvironment-yavec le nom de méthode d’authentificationsome_external_idp.
La capture d’écran suivante montre la configuration d’une méthode d’authentification SAML 2.0 dans FoxIDs Control Client.
Ici la configuration est créée avec les métadonnées des IdP externes. Les revendications transférées sont limitées au jeu de revendications configuré, par défaut toutes les revendications sont transférées avec la notation *.
Davantage d’options de configuration sont disponibles en cliquant sur Show advanced.

Vous pouvez modifier les revendications et effectuer des tâches de revendications avec transformations de revendications et tâches de revendications.
La configuration manuelle devient disponible en désactivant Automatic update. De cette façon, l’IdP n’a pas besoin d’exposer ou d’envoyer un fichier de métadonnées, vous pouvez tout configurer manuellement.

Si vous créez une nouvelle revendication, ajoutez la revendication ou * (par défaut) à la liste Forward claims pour transférer la revendication à l’enregistrement d’application.
Connexion initiée par l’IdP
La connexion initiée par l’IdP SAML 2.0 est un flux d’authentification Single Sign-On (SSO) où le processus commence chez le fournisseur d’identité (IdP) au lieu du fournisseur de services (SP). Cette méthode est couramment utilisée dans les environnements d’entreprise pour permettre aux utilisateurs d’accéder à plusieurs applications avec une seule authentification.
Contrairement à la connexion initiée par le SP, le SP ne demande pas l’authentification à l’IdP. L’IdP envoie une assertion SAML non sollicitée de sa propre initiative. Cette différence clé rend le flux de connexion initiée par l’IdP moins sécurisé que le flux initié par le SP, et pour cette raison la connexion initiée par l’IdP est désactivée par défaut dans FoxIDs.
Activer la connexion initiée par l’IdP.
- Ouvrez la méthode d’authentification SAML 2.0 dans FoxIDs Control Client
- Cliquez sur Show advanced
- Faites défiler jusqu’en bas de la section de configuration
- Activez IdP-Initiated login
- Modifiez éventuellement IdP-Initiated Login - OpenID Connect grant lifetime
- Cliquez sur Update

Configurez ensuite la méthode d’authentification SAML 2.0 pour faire confiance à l’IdP de la même manière que pour une connexion initiée par le SP.
État de relais IdP
L’IdP externe doit envoyer un état de relais qui spécifie l’application vers laquelle l’authentification doit être transférée.
L’état de relais doit toujours contenir le nom de l’application app_name et le type d’application app_type et, dans certains cas, doit contenir une URL de redirection d’application app_redirect.
Chaque élément a un nom et une valeur et ils sont séparés par &. Les valeurs d’URL de redirection doivent être encodées en URL. La valeur du type d’application peut être saml2 ou oidc.
L’exemple .NET de fournisseur d’identité (IdP) SAML 2.0 AspNetCoreSamlIdPSample montre comment créer une connexion initiée par l’IdP avec un état de relais.
Application SAML 2.0
Si vous souhaitez transférer l’authentification vers l’application SAML 2.0 nommée my-saml2-app, l’état de relais est :
app_name=my-saml2-app&app_type=saml2
Cela transfère l’appel d’authentification vers le premier endpoint Assertion Consumer Service (ACS) configuré pour l’application.
Si vous souhaitez transférer l’authentification vers un autre endpoint ACS configuré https://my-domain.com/auth/acs2, l’état de relais est :
app_name=my-saml2-app&app_type=saml2&app_redirect=https%3A%2F%2Fmy-domain.com%2Fauth%2Facs2
L’appel d’authentification est transféré vers l’application SAML 2.0 en tant que connexion initiée par l’IdP avec une réponse d’authentification SAML 2.0 non sollicitée.
Application OpenID Connect
OpenID Connect ne prend pas en charge la connexion initiée par l’IdP. Par conséquent, la connexion initiée par l’IdP est validée dans la méthode d’authentification et transférée à l’application OpenID Connect en
appelant l’application avec l’URL de redirection app_redirect qui doit démarrer le flux de connexion (standard OpenID Connect : Initiating Login from a Third Party).
Vous avez besoin d’une page dans l’application OpenID Connect qui exige que l’utilisateur soit authentifié et qui démarre donc le flux de connexion lorsqu’elle est appelée.
Un paramètre d’émetteur iss est transmis dans la requête que vous pouvez choisir de valider.
L’application OpenID Connect peut effectuer une requête de connexion générale avec un *, FoxIDs sait où router la requête de connexion.
Ensuite l’application OpenID Connect appelle FoxIDs, qui lit la subvention IdP-Initiated Login.
Sinon, sans subvention IdP-Initiated Login, l’IdP externe est appelé avec un flux de connexion initiée par le SP.
L’IdP externe utilise le contexte Single Sign-On (SSO) et répond à FoxIDs.
Il est recommandé d’utiliser la fonctionnalité de subvention IdP-Initiated Login pour éviter un aller-retour supplémentaire vers l’IdP externe.
La connexion initiée par l’IdP SAML 2.0 est ensuite traduite en OpenID Connect et transfère l’authentification vers l’application OpenID Connect.
Si vous souhaitez transférer l’authentification vers l’application OpenID Connect nommée my-oidc-app avec l’URL d’initiation de connexion https://my-domain.com/secure-page,
l’état de relais est :
app_name=my-oidc-app&app_type=oidc&app_redirect=https%3A%2F%2Fmy-domain.com%2Fsecure-page
L’URL de redirection de l’application doit être une URL valide/configurée pour l’application OpenID Connect.