Couches de sessions
Trois couches de session peuvent en principe être créés lorsque vos utilisateurs se connectent :
Couche de session de l’application : Cette couche est la session à l’intérieur de l’application. Bien que votre application utilise Auth0 pour authentifier les utilisateurs, votre application suit également que l’utilisateur s’est connecté à votre application; dans une application web classique, par exemple, vous y parviendrez en stockant cette information dans un témoin.
Couche de session d’Auth0 : Auth0 assure également une session sur le serveur d’autorisation pour l’utilisateur et stocke ses informations à l’intérieur d’un fichier témoin. Cette couche est utilisée pour que la prochaine fois qu’un utilisateur est redirigé vers Auth0 pour se connecter, les informations de l’utilisateur soient mémorisées. Cette couche de session rend l’expérience d’authentification unique possible pour les implémentations SSO entrantes.
Couche de session du fournisseur d’identité : Lorsque des utilisateurs tentent de se connecter à l’aide d’un fournisseur d’identité comme Facebook or Google et qu’ils disposent déjà d’une connexion valide (quel que soit le fournisseur choisi), ils ne sont pas invités à s’identifier à nouveau, bien qu’il puisse leur être demandé de donner l’autorisation de partager leurs informations avec Auth0 et, par la suite, avec votre application.
Déconnexion de la session
Dans le contexte des implémentations dans Auth0, la déconnexion est l’action de mettre fin à une session authentifiée. C’est une bonne pratique de sécurité de mettre fin aux sessions lorsqu’elles ne sont plus nécessaires pour éviter une éventuelle prise de contrôle par des parties non autorisées.
Auth0 fournit des outils pour vous aider à donner aux utilisateurs la possibilité de se déconnecter ; cela inclut des options pour fournir différents niveaux de déconnexion et aussi pour déterminer où l’utilisateur atterrira une fois la déconnexion terminée.
Déconnexion de la couche session de l’application : La déconnexion des utilisateurs de vos applications entraîne généralement l’effacement de leur session, ce qui doit être géré par votre application : pour la couche de session de l’application, il n’y a rien dans votre locataire Auth0 que vous devez utiliser pour faciliter la fin de la session. Vous devrez donc utiliser la pile de session d’application que vous utilisez pour effacer toutes les informations relatives à la session. Notez que certaines trousses SDK Auth0 fournissent un certain degré de prise en charge des sessions d’application; veuillez vérifier la documentation pour voir s’il y a une suppression de session de trousse SDK locale qui doit être faite.
Déconnexion de la couche de session d’Auth0 : Vous pouvez déconnecter les utilisateurs de la couche de session d’Auth0 en les redirigeant vers le point de terminaison de déconnexion Auth0 afin qu’Auth0 puisse effacer le témoin de l’authentification unique
Déconnexion de la couche de session du fournisseur d’identité : Il n’est pas nécessaire de déconnecter les utilisateurs de cette couche de session, mais vous pouvez utiliser Auth0 pour forcer la déconnexion si nécessaire.
URL de redirection
La déconnexion de votre couche de session Auth0 nécessitera que vous redirigiez l’utilisateur vers https://<{yourCNAME}
ou {yourTenant}.auth0.com>/oidc/logout
- cela se fait généralement par le biais de la méthode appropriée dans la trousse SDK Auth0 pour votre pile technologique. Votre session Auth0 sera effacée. Vous voudrez également ajouter un paramètre de requête pour cette demande appelée id_token_hint
- ce paramètre doit contenir une URL qui a été pré-enregistrée et vous protège contre les attaques par redirection ouverte.
Auth0 ne redirige que vers des URL sur liste blanche après la déconnexion et il y a deux endroits où vous pouvez les configurer. Le premier endroit est au niveau du locataire Auth0; c’est là que vous pouvez mettre l’ensemble des URL de déconnexion qui sont communes à toutes les applications. Le deuxième endroit se trouve dans les paramètres de l’application : si vous avez besoin de redirections différentes pour chaque application, vous pouvez ajouter les URL sur liste blanche dans les paramètres de votre application. Cela vous permet de définir des URL de déconnexion dans un contexte spécifique à l’application.
Durée de vie et délai de la session
Vous pouvez définir le comportement à adopter lorsqu’un utilisateur ne se déconnecte pas explicitement de votre application. Dans ce cas, Auth0 prévoit des session lifetime (durées de vie) limites pour gérer la fin de la session Auth0.
Déconnexion fédérée
Vous pouvez également déconnecter les utilisateurs de la couche de session du fournisseur d’identité. Bien que ce ne soit pas recommandé, Auth0 permet ce comportement pour bon nombre de fournisseurs. Pour ce faire, vous devez ajouter le paramètre de requête federated
pour rediriger les utilisateurs vers l’URL /oidc/logout
. Cela redirige l’utilisateur vers son fournisseur d’identité et le déconnecte également. Pour en savoir plus sur la déconnexion fédérée, lisez l’article Déconnecter des utilisateurs des fournisseurs d’identité.