Avantages
Pourquoi utiliser le SSO d’Auth0 ?- Accès unifié : Les utilisateurs s’authentifient une seule fois pour accéder à toutes les applications indépendantes et connexes sans avoir à saisir de nouveau leur information d’authentification.
- Session centralisée : Auth0 utilise un domaine central et des cookies de navigateur pour partager l’état d’authentification entre plusieurs applications.
- Universal Login : L’utilisation d’Universal Login d’Auth0 est une façon sécurisée de mettre en œuvre le SSO sur toutes les plateformes.
Fonctionnement
L’authentification unique et le Single Logout sont possibles grâce à l’utilisation de sessions. Un utilisateur peut avoir jusqu’à trois sessions différentes avec le SSO :- Session locale maintenue par l’application
- Session de l’, si le SSO est activé
- Session de l’, si l’utilisateur a choisi de se connecter par l’entremise d’un (comme Google, Facebook ou un fournisseur d’identité d’entreprise)
SSO avec Universal Login
La façon la plus simple et la plus sécuritaire d’implémenter l’authentification unique (SSO) avec Auth0 est d’utiliser Universal Login pour l’authentification. En fait, à l’heure actuelle, le SSO n’est possible sur les plateformes natives (comme iOS ou Android) que si l’application utilise . Les guides de démarrage rapide Swift et Android fournissent quelques exemples d’utilisation d’Universal Login. Si vous ne pouvez pas utiliser Universal Login avec votre application, consultez les ressources suivantes pour obtenir plus de renseignements sur l’authentification intégrée :Si vous utilisez Passwordless avec l’authentification unique, les paramètres de connection
sms et email n’utilisent pas la session Auth0 existante, et l’utilisateur sera invité à se connecter.SSO lors de la première connexion
Pour le SSO avec Auth0, le service central est le d’Auth0. Examinons un exemple de flux SSO lorsqu’un utilisateur se connecte pour la première fois :- Votre application redirige l’utilisateur vers la page de connexion.
- Auth0 vérifie s’il existe déjà un cookie SSO.
-
Comme c’est la première fois que l’utilisateur visite la page de connexion et qu’aucun cookie SSO n’est présent, l’utilisateur devra se connecter à l’aide de l’une des connexions que vous avez configurées.

- Une fois que l’utilisateur s’est connecté, Auth0 créera un cookie SSO et redirigera l’utilisateur vers votre application, en renvoyant un ID Token contenant les renseignements d’identité de l’utilisateur.
SSO lors des connexions ultérieures
Examinons un exemple du processus SSO lorsqu’un utilisateur revient sur votre site Web pour une visite ultérieure :- Votre application redirige l’utilisateur vers la page de connexion.
- Auth0 vérifie s’il existe déjà un cookie SSO.
- Auth0 trouve le cookie SSO et, au besoin, le met à jour. Aucun écran de connexion n’est affiché.
- Auth0 redirige l’utilisateur vers votre application en renvoyant un ID Token qui contient des renseignements sur l’identité de l’utilisateur.
Vérifier l’état SSO d’un utilisateur
Vérifiez l’état SSO d’un utilisateur depuis une application en appelant la méthodecheckSession du SDK auth0.js, qui tentera d’authentifier silencieusement l’utilisateur dans un iframe. Le succès ou l’échec de l’authentification indique si l’utilisateur a un cookie SSO actif.
Protocoles
SAML et WS-Federation
Security Assertion Markup Language (SAML) et Web Services Federation () sont deux protocoles largement utilisés dans les mises en œuvre du SSO. SAML et WS-Fed échangent tous deux des données d’autorisation et d’authentification au format XML; les principaux éléments de cet échange sont l’utilisateur, le fournisseur d’identité et le fournisseur de services. Avec SAML ou WS-Fed :- Un utilisateur demande une ressource au fournisseur de services.
- Le fournisseur de services vérifie auprès du fournisseur d’identité si l’utilisateur est autorisé à accéder à la ressource.
- Le fournisseur d’identité vérifie l’identité de l’utilisateur et, si elle est valide, confirme au fournisseur de services que l’utilisateur est autorisé à accéder à la ressource.
OpenID Connect
Connect (OIDC) est un protocole d’authentification couramment utilisé dans les mises en œuvre de SSO destinées au grand public. Le protocole OIDC gère l’authentification au moyen de et d’un fournisseur d’identité central. Avec OIDC :- Un utilisateur demande à accéder à une application.
- L’application redirige l’utilisateur vers le fournisseur d’identité pour s’authentifier.
- Le fournisseur d’identité vérifie l’identité de l’utilisateur et, si l’authentification réussit, l’invite à autoriser l’application à accéder aux données.
- Si l’accès est accordé, le fournisseur d’identité génère un ID Token, qui contient des renseignements sur l’identité de l’utilisateur que l’application peut exploiter.
- Le fournisseur d’identité renvoie l’utilisateur vers l’application.
AD/LDAP
Lightweight Directory Access Protocol (LDAP) est un protocole d’application utilisé pour accéder à un annuaire d’informations d’authentification pouvant être partagé par plusieurs applications; il est couramment utilisé dans les intranets. Lorsqu’il est associé à Active Directory (AD), LDAP fournit un emplacement centralisé pour l’identité de l’utilisateur, de sorte que l’application envoie une requête d’authentification au serveur LDAP/AD. Le protocole LDAP échange des informations au format LDAP Data Interchange Format (LDIF).SSO initié par le fournisseur de services
Pour le SSO initié par le fournisseur de services, Auth0 agit comme fournisseur de services (SP) du SSO. Lorsqu’un utilisateur se connecte à une application :- L’application propose à l’utilisateur un ou plusieurs fournisseurs d’identité externes.
- L’utilisateur sélectionne un fournisseur d’identité pour s’authentifier, puis se connecte.
- Une fois l’authentification réussie, l’utilisateur est redirigé vers l’application.
SSO initié par le fournisseur d’identité
Pour le SSO initié par le fournisseur d’identité, un fournisseur d’identité (IdP) tiers agit comme fournisseur SSO. Lorsqu’un utilisateur se connecte à une application :- L’application redirige l’utilisateur vers un fournisseur d’identité.
- Le fournisseur d’identité tiers effectue l’authentification et l’autorisation.
- Une fois l’authentification réussie, l’utilisateur est redirigé vers l’application.
SSO initié par le fournisseur de services ou par le fournisseur d’identité
Le choix entre le SSO initié par le fournisseur de services et celui initié par le fournisseur d’identité dépend principalement du point de départ souhaité pour le parcours utilisateur et du niveau de sécurité requis. Nous recommandons le SSO initié par le fournisseur de services lorsque vous avez besoin d’authentification dans les cas suivants :- Accès direct : Utilisez cette option lorsque les utilisateurs ajoutent généralement la page de connexion de votre application à leurs favoris ou y accèdent directement.
- Sécurité renforcée : Cette option est plus sécurisée, car elle utilise un « ID de requête » précis pour établir une corrélation entre la requête de connexion et la réponse, ce qui protège contre la falsification de requêtes intersites (CSRF) et les attaques par rejeu.
- Liens profonds : Utilisez cette option si vous devez rediriger les utilisateurs vers une page précise de votre application après leur connexion.
- Portails d’entreprise : Utilisez cette option si vos utilisateurs commencent leur journée dans un tableau de bord centralisé (comme Okta, Microsoft 365 ou un intranet d’entreprise) et sélectionnent une icône pour lancer votre application.
- Simplification de l’expérience utilisateur : Cette option évite à l’utilisateur final de devoir d’abord visiter la page de connexion de votre application ; les utilisateurs finaux accèdent ainsi à votre application déjà authentifiés.
- Systèmes existants : Cette option est souvent utilisée lors de l’intégration à des systèmes d’entreprise plus anciens basés sur SAML qui ne prennent pas en charge les fonctionnalités de redirection modernes.