Skip to main content
Il existe généralement trois couches de session qui peuvent être créées lorsque vos utilisateurs se connectent :
  • couche de session de l’application: Cette couche correspond à la session à l’intérieur de votre application. Bien que votre application utilise Auth0 pour authentifier les utilisateurs, elle garde aussi une trace du fait que l’utilisateur s’y est connecté; dans une application web traditionnelle, par exemple, cela se fait en stockant cette information dans un cookie.
  • couche de session Auth0: Auth0 maintient également une session sur le pour l’utilisateur et stocke ses renseignements dans un cookie. Cette couche est utilisée pour que, la prochaine fois qu’un utilisateur est redirigé vers Auth0 pour se connecter, ses renseignements soient mémorisés. Cette couche de session rend possible l’expérience de pour les mises en œuvre de l’authentification unique entrante.
  • Session Layer: Lorsque les utilisateurs tentent de se connecter à l’aide de fournisseurs d’identité comme Facebook ou Google, s’ils ont déjà une session valide ouverte auprès du fournisseur choisi, ils n’auront pas à se reconnecter, bien qu’on puisse leur demander d’autoriser le partage de leurs renseignements avec Auth0 et, par conséquent, votre application.

Déconnexion de session

Le déconnexion, dans le contexte des mises en œuvre d’Auth0, consiste à 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 afin d’éviter une éventuelle prise de contrôle par des tiers non autorisés. Auth0 fournit des outils pour vous aider à permettre aux utilisateurs de se déconnecter; cela comprend des options pour offrir différents niveaux de déconnexion et pour déterminer vers où l’utilisateur sera redirigé une fois la déconnexion terminée.
  • Déconnexion de la couche de session de l’application : Déconnecter les utilisateurs de vos applications entraîne généralement l’effacement de leur session d’application, et cela doit être géré par votre application : pour la couche de session de l’application, il n’y a rien dans votre tenant Auth0 que vous devez utiliser pour faciliter la fin de session. Vous devrez utiliser la solution de gestion de session de votre application pour effacer toute information liée à la session. Notez que certains SDKs Auth0 offrent un certain soutien pour les sessions d’application; veuillez consulter la documentation pour voir si une suppression de session locale du SDK est nécessaire.
  • Déconnexion de la couche de session Auth0 : Vous pouvez déconnecter les utilisateurs de la couche de session Auth0 en les redirigeant vers le Déconnexion endpoint Auth0 afin qu’Auth0 puisse effacer le cookie SSO.
    En général, vous effacez une session Auth0 en redirigeant les utilisateurs vers le endpoint /logout. Cependant, si vous faites une requête au endpoint Update a User pour réinitialiser les attributs utilisateur (en transmettant les valeurs email, email_verified, phone_number, password et username), auth0.checkSession ne renouvelle pas la session, et l’utilisateur doit se reconnecter.
  • 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 le déconnexion au besoin.

URL de redirection

Pour mettre fin à votre couche de session Auth0, vous devrez rediriger l’utilisateur vers https://{yourCNAME} ou {yourTenant}.auth0.com/oidc/logout - ce qui se fait généralement à l’aide de la méthode appropriée dans le SDK Auth0 pour votre pile technologique. Cela effacera votre session Auth0. Vous voudrez aussi ajouter à cette requête un paramètre de requête appelé id_token_hint - ce paramètre doit contenir une URL préenregistrée qui vous protège contre les attaques de redirection ouverte. Après la déconnexion, Auth0 redirige uniquement vers les URL figurant dans l’AllowList, et vous pouvez les configurer à deux endroits. Le premier est au niveau de votre tenant Auth0, où vous pouvez définir l’ensemble des URL de déconnexion partagées entre toutes les applications. Le second se trouve dans les paramètres de l’application : si vous avez besoin de redirections différentes pour chaque application, vous pouvez autoriser les URL dans les paramètres de votre application. Cela vous permet de définir des URL de déconnexion dans un contexte propre à l’application.

Durée de vie de la session et délai d’expiration de la session

Vous pouvez définir ce qui se passe lorsqu’un utilisateur ne se déconnecte pas explicitement de votre application. Auth0 fournit des limites de durée de vie de la session pour gérer la fin d’une session Auth0 dans ce cas.

Déconnexion fédérée

Vous pouvez également déconnecter les utilisateurs de la couche de session du fournisseur d’identité. Bien que cela ne soit pas recommandé, Auth0 permet ce comportement, pour de nombreux fournisseurs, si vous ajoutez le paramètre de requête federated à la redirection vers /oidc/logout. L’utilisateur est alors redirigé vers son fournisseur d’identité et y est également déconnecté. Pour en savoir plus sur la déconnexion fédérée, consultez l’article Déconnecter les utilisateurs des fournisseurs d’identité.

En savoir plus