sid) inclus dans les et sur les jetons de déconnexion pour coordonner la fin de session au moyen d’une communication par canal arrière. Des identifiants de session différents représentent des sessions distinctes d’un agent utilisateur ou d’un appareil dans votre locataire. Les jetons de déconnexion identifient l’utilisateur final et la session à déconnecter.
Communications en canal arrière
Pour que la déconnexion canal arrière fonctionne, les applications doivent être en mesure de recevoir des communications en canal arrière.
Jetons dans les communications de déconnexion OIDC par canal arrière
sid) dans les jetons d’identité et de déconnexion.
Lorsque les utilisateurs finaux s’authentifient avec succès auprès d’Auth0 lors de la connexion, le émet des jetons d’accès et d’identité. Des jetons de déconnexion sont générés lorsqu’une session est détruite, par exemple à la suite d’une action de déconnexion ou d’une révocation de session. Les jetons d’identité et de déconnexion contiennent tous deux les claims dont votre application a besoin pour prendre en charge le flux de déconnexion par canal arrière. Pour en savoir plus sur les claims, consultez JSON Web Token Claims.

- Connexion - Pendant l’authentification de l’utilisateur, le locataire Auth0 ajoute le
sidau jeton d’identité. - Connexion - L’application stocke l’identifiant de session reçu dans son propre magasin de sessions et l’associe à la session propre à l’application.
- Déconnexion - L’IdP appelle l’URL de rappel de déconnexion préenregistrée et envoie le jeton de déconnexion à ce point de terminaison. Le jeton contient le
user_id(sub) et lesid, ainsi que d’autres paramètres. - Déconnexion - Le backend de l’application doit valider le jeton de déconnexion conformément à la spécification OIDC et extraire le
sid. Il peut ensuite utiliser ce jeton pour trouver la session associée à cet identifiant et y mettre fin au besoin.
La réponse attendue est
HTTP 200 pour une déconnexion réussie. Si vous recevez un HTTP 400, indiquant une requête incorrecte ou mal interprétée, vous pouvez utiliser nos conseils de dépannage. Pour en savoir plus, consultez Configure Back-Channel Logout.Fonctionnement

- Pendant la configuration de l’application, l’application A enregistre un URI de déconnexion par canal arrière auprès d’Auth0.
-
Pendant la configuration de l’application, l’application B enregistre un URI de déconnexion par canal arrière auprès d’Auth0.
Les URL de déconnexion par canal arrière OIDC doivent :
- Être accessibles depuis l’IdP
- Utiliser des points de terminaison protégés par le chiffrement TLS
- Valider les jetons de déconnexion
- Lors de la connexion de l’utilisateur final, un utilisateur s’authentifie auprès d’Auth0 pour accéder à l’application A.
-
Auth0 envoie un jeton d’identité avec
sidà l’application A. Pour en savoir plus, consultez Structure de l’ID Token. - L’utilisateur s’authentifie auprès d’Auth0 pour accéder à l’application B.
-
Auth0 envoie un jeton d’identité avec le même
sidà l’application B. Votre application doit stocker les informations de session. - Lors de la déconnexion, l’application A ou d’autres entités lancent la déconnexion sur le canal frontal.
- Auth0 met fin à la couche de session d’Auth0 au moyen du témoin de session.
- Auth0 appelle l’URI de déconnexion par canal arrière de l’application A et envoie le jeton de déconnexion.
- L’application A valide le jeton de déconnexion et met fin à la session.
- Auth0 appelle l’URI de déconnexion par canal arrière de l’application B et envoie le jeton de déconnexion.
- L’application B valide le jeton de déconnexion et met fin à la session.
Exemple de jeton
JSON
SDKs Auth0
Exemples d’implémentation
Stockage des sessions
Cet exemple utilise un stockage de sessions en mémoire à des fins de démonstration.
routes/index.js
middlewares/validateLogoutToken.js
Stockage des jetons de déconnexion

Considérations de sécurité
- Les applications doivent pouvoir stocker l’ID de session (revendication
sid) reçu lors de la connexion de l’utilisateur afin de le récupérer plus tard à la réception d’un jeton de déconnexion par canal arrière. - Les applications doivent vérifier tous les jetons reçus conformément aux pratiques exemplaires de validation des JWT.
- Les applications doivent accepter uniquement les jetons émis par des locataires de confiance. Un acteur malveillant peut tenter d’envoyer des jetons émis par d’autres locataires Auth0; ces tentatives doivent être rejetées.
- Les applications doivent accepter les jetons uniquement s’ils contiennent une valeur
sid(ID de session) reconnue par l’application. Les jetons contenant un ID de session invalide (qu’il soit expiré ou non reconnu) doivent être rejetés. - Les applications doivent exposer les points de terminaison de rappel uniquement au moyen de TLS. Les canaux de communication non chiffrés ne sont pas autorisés.
- Il est recommandé que les applications acceptent uniquement les requêtes provenant de la liste publiée des adresses IP sortantes.
- Il est recommandé que les applications suivent les pratiques exemplaires générales en matière de surveillance, de journalisation et de limitation du débit; toutefois, les détails à ce sujet dépassent la portée du présent document.
- Il est recommandé que les applications suppriment régulièrement les sessions obsolètes ou expirées.
- Toute modification de l’adresse du point de terminaison doit être synchronisée avec la configuration du locataire afin de garantir que les jetons de déconnexion sont toujours transmis à la bonne URL de rappel de déconnexion par canal arrière.