Fonctionnement
L’authentification unique et la déconnexion unique sont possibles grâce à l’utilisation de sessions. Il peut y avoir jusqu’à trois sessions différentes pour un utilisateur avec la SSO :- Session locale maintenue par l’application,
- , si l’authentification unique (SSO) est activée
- , si l’utilisateur choisit de se connecter via un fournisseur d’identité (tel que Google, Facebook ou un fournisseur d’identité d’entreprise)
SSO avec connexion universelle
La manière la plus simple et la plus sécurisée pour implémenter l’authentification unique (SSO) avec Auth0 est d’utiliser la connexion universelle pour l’authentification. Actuellement, la SSO n’est possible que sur les plateformes natives (comme iOS ou Android) si l’application utilise la connexion universelle. Les démarrages rapides Swift et Android fournissent quelques exemples d’utilisation de la connexion universelle. Si vous ne pouvez pas utiliser la connexion universelle avec votre application, consultez ce qui suit pour plus d’informations sur l’authentification intégrée :SSO à la première connexion
Pour l’authentification unique (SSO) avec Auth0, le Service central est le serveur d’autorisation 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 pour voir s’il existe un témoin SSO.
-
Parce qu’il s’agit de la première fois que l’utilisateur visite la page de connexion et que le témoin SSO est présent, il sera demandé à l’utilisateur de se connecter en utilisant l’une des connexions que vous avez configurées.
- Une fois que l’utilisateur est connecté, Auth0 va définir un témoin SSO et rediriger l’utilisateur vers votre application, renvoyant un jeton d’ID contenant des informations sur l’identité de l’utilisateur.
SSO lors des connexions ultérieures
Examinons un exemple du flux SSO lorsque qu’un utilisateur retourne sur votre site Web pour une visite ultérieure :- Votre application redirige l’utilisateur vers la page de connexion.
- Auth0 vérifie pour voir s’il existe un témoin SSO.
- Auth0 trouve le témoin SSO et, si nécessaire, le met à jour. Aucun écran de connexion ne s’affiche.
- Auth0 redirige l’utilisateur vers votre application en renvoyant un jeton d’ID qui contient des informations sur l’identité de l’utilisateur.
Vérifier le statut SSO de l’utilisateur
Vous pouvez vérifier l’état SSO d’un utilisateur depuis une application faisant appel à la méthodecheckSession
de la trousse SDK auth0.js
qui tentera d’authentifier silencieusement l’utilisateur dans un iframe. Que l’authentification soit réussie ou non indique si l’utilisateur a un témoin SSO actif.
Protocoles
SAML et WS-Federation
Le Security Assertion Markup Language (SAML) et le Web Services Federation () sont deux protocoles largement utilisés dans les implémentations de SSO. SAML et WS-Fed échangent tous deux des données d’autorisation et d’authentification au format XML. Les principales parties de cet échange sont l’utilisateur, le fournisseur d’identité et le fournisseur de services. Avec SAML et WS-Fed :- Un utilisateur demande une ressource auprès du fournisseur de services.
- Le fournisseur de services vérifie auprès du fournisseur d’identité si l’utilisateur devrait avoir accès à la ressource.
- Le fournisseur d’identité vérifie l’identité de l’utilisateur, et si elle est valide, il l’affirme au fournisseur de services que l’utilisateur devrait avoir accès.
OpenID Connect
Connect (OIDC) est un protocole d’authentification couramment utilisé dans les implémentations d’authentification unique (SSO) orientées vers le consommateur. Le protocole OIDC gère l’authentification via des jetons Web JSON () et un fournisseur d’identité central. Avec OIDC :- Un utilisateur demande l’accès à une application.
- L’application redirige l’utilisateur au fournisseur d’identité pour l’authentification.
- Le fournisseur d’identité vérifie l’utilisateur. Si la vérification est réussie, il invite ce dernier à accorder l’accès aux données de l’application.
- Si l’accès est accordé, le fournisseur d’identité génère un jeton d’ID qui contient les informations d’identité de l’utilisateur que l’application peut consommer.
- Le fournisseur d’identité redirige l’utilisateur vers l’application.
AD/LDAP
Le protocole d’accès au répertoire léger (LDAP) est un protocole d’application utilisé pour accéder à un répertoire de références pouvant être partagé par plusieurs applications : il est couramment utilisé par 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 demande d’authentification au serveur LDAP/AD. Le protocole LDAP échange des informations dans le format d’échange de données LDAP (LDIF).Authentification unique (SSO) initiée par le fournisseur de services
En ce qui concerne la SSO initiée par le fournisseur de services, Auth0 est le fournisseur de services de la SSO. Lorsqu’un utilisateur se connecte à une application :- L’application présente à l’utilisateur un ou plusieurs fournisseurs d’identité externes.
- L’utilisateur sélectionne un fournisseur d’identité avec lequel s’authentifier et se connecte.
- Lorsqu’une connexion est réussie, l’utilisateur est renvoyé à l’application.
Authentification unique (SSO) initiée par le fournisseur d’identité
En ce qui concerne la SSO initiée par le fournisseur d’identité, un fournisseur d’identité tiers () est le fournisseur de la 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
- Lorsqu’une connexion est réussie, l’utilisateur est renvoyé à l’application.