Passer au contenu principal
Auth0 implémente Connect RP-Initiated Logout 1.0 pour la déconnexion de l’utilisateur final. Cette norme fait partie de l’ensemble des spécifications finales d’OpenID Connect.

Fonctionnement

La déconnexion initiée par le RP est un scénario dans lequel une (utilisateur) demande au fournisseur OpenID (Auth0) de le déconnecter.
  1. L’utilisateur lance une demande de déconnexion dans votre application.
  2. Votre application redirige l’utilisateur vers le point de terminaison OIDC Logout de l’Authentication API d’Auth0.
  3. Auth0 redirige l’utilisateur vers la destination appropriée selon les paramètres du point de terminaison OIDC Logout fournis.

Configurer la déconnexion initiée par le RP

Pour configurer la déconnexion initiée par le RP, vous devez vous assurer que votre application peut trouver le paramètre end_session_endpoint dans le document de métadonnées de découverte de votre locataire Auth0 et qu’elle appelle le point de terminaison de déconnexion OIDC avec les paramètres nécessaires.

Activer la découverte du point de terminaison

Pour les locataires Auth0 créés à compter du 14 novembre 2023, RP-Initiated Logout End Session Endpoint Discovery est activé par défaut.
Vous pouvez activer RP-Initiated Logout End Session Endpoint Discovery dans l’ ou avec la d’Auth0.
Pour activer RP-Initiated Logout End Session Endpoint Discovery dans l’Auth0 Dashboard :
  1. Accédez à Auth0 Dashboard > Settings > Advanced.
  2. Repérez la section Login and Logout.
  3. Activez l’interrupteur RP-Initiated Logout End Session Endpoint Discovery.

Appelez le point de terminaison de déconnexion OIDC

La plupart des bibliothèques SDK d’Auth0 sont conformes à OIDC et prennent en charge nativement la déconnexion initiée par le RP.
Lorsque vous appelez le point de terminaison de déconnexion OIDC, Auth0 recommande de fournir le paramètre id_token_hint. Si votre application ne peut pas stocker de façon sécurisée les , vous pouvez plutôt fournir les paramètres logout_hint et client_id.
Vous pouvez appeler le point de terminaison de déconnexion OIDC avec des informations redondantes.Par exemple, vous pouvez envoyer les paramètres id_token_hint et logout_hint, ou les paramètres id_token_hint et client_id.Dans tous les cas, Auth0 vérifie la cohérence des données de l’utilisateur et de la session, et renvoie une erreur en cas de divergence.

Paramètres du point de terminaison OIDC Logout

Le point de terminaison OIDC Logout de l’Authentication API prend en charge les paramètres suivants :
ParamètreObligatoire ?Description
id_token_hintRecommandéJeton d’identité précédemment émis pour l’utilisateur. Il indique quel utilisateur déconnecter.
logout_hintFacultatifValeur de l’ID de session (sid) qui indique quel utilisateur déconnecter.
post_logout_redirect_uriFacultatifValeur de l’URL de redirection qui indique où rediriger l’utilisateur après la déconnexion.
client_idFacultatifID client de votre application.
federatedFacultatifIndique à Auth0 de déconnecter l’utilisateur de son fournisseur d’identité.
stateFacultatifValeur opaque que l’application ajoute à la demande de déconnexion initiale et qu’Auth0 inclut lors de la redirection vers post_logout_redirect_uri.
ui_localesFacultatifListe de paramètres régionaux séparés par des espaces, utilisée pour limiter la liste des langues de la requête. Le premier paramètre régional de la liste doit correspondre au paramètre régional activé dans votre locataire.

paramètre id_token_hint

Auth0 recommande d’utiliser le paramètre id_token_hint lorsque vous appelez le point de terminaison de déconnexion OIDC.
La valeur du paramètre id_token_hint doit être le jeton d’identité qu’Auth0 a émis à l’utilisateur après son authentification. Le jeton d’identité contient, à des fins de vérification, la claim enregistrée d’émetteur (iss), l’ (aud) et l’ID de session Auth0 (sid). Pour en savoir plus sur les claims du jeton d’identité, consultez Structure du jeton d’identité.
Exemples

paramètre logout_hint

La valeur du paramètre logout_hint doit correspondre à l’ID de session (sid) de la session Auth0 actuelle de l’utilisateur. L’ID de session (sid) est inclus comme revendication enregistrée dans le jeton d’identité qu’Auth0 a émis à l’utilisateur après son authentification.
Vous devez utiliser l’ID de session (sid) associé au jeton d’identité émis par Auth0 au moment où la session actuelle a débuté. Auth0 ne tient pas compte des requêtes dont les valeurs sont aléatoires ou ne correspondent pas aux données de la session actuelle.
Exemple

Paramètre post_logout_redirect_uri

La valeur du paramètre post_logout_redirect_uri doit être une URL valide et encodée qui a été enregistrée dans la liste des URL de déconnexion autorisées de l’un des éléments suivants :
  1. Paramètres de l’application : si vous fournissez le paramètre id_token_hint, ou les paramètres logout_hint et client_id.
  2. Paramètres du locataire : si vous fournissez uniquement le paramètre logout_hint.
Exemple
Mettre à jour les URL de déconnexion autorisées de l’application
Vous pouvez enregistrer une URL dans la liste des URL de déconnexion autorisées de votre application dans Auth0 Dashboard ou à l’aide de la Management API.
Pour enregistrer une URL dans la liste des URL de déconnexion autorisées de votre application dans Auth0 Dashboard :
  1. Accédez à Dashboard > Applications > Applications.
  2. Sélectionnez votre application.
  3. Repérez la section URI de l’application.
  4. Mettez à jour les URL de déconnexion autorisées en suivant les instructions fournies.
Mettre à jour les URL de déconnexion autorisées du locataire
Vous pouvez enregistrer une URL dans la liste des URL de déconnexion autorisées de votre locataire dans l’Auth0 Dashboard ou au moyen de la Management API.
Pour enregistrer une URL dans la liste des URL de déconnexion autorisées de votre locataire dans l’Auth0 Dashboard :
  1. Accédez à Dashboard > Settings > Advanced.
  2. Repérez la section Login and Logout.
  3. Mettez à jour les URL de déconnexion autorisées en suivant les directives fournies.
Consignes relatives aux URL de déconnexion autorisées
Lorsque vous mettez à jour les URL de déconnexion autorisées, suivez les consignes ci-dessous pour éviter les erreurs de validation :
  • Séparez plusieurs URL par une virgule (,).
  • Incluez le schéma de l’URL (par exemple, https://).
Vous pouvez utiliser un astérisque (*) comme caractère générique pour les sous-domaines (par exemple, https://*.example.com), mais nous vous recommandons de ne pas utiliser de caractères génériques dans les environnements de production. Pour en savoir plus, consultez Espaces réservés d’URL pour les sous-domaines.
Ajouter des paramètres de requête à post_logout_redirect_uri
Le point de terminaison de déconnexion OIDC analyse les paramètres de requête dans l’URL fournie au paramètre post_logout_redirect_uri. Vous devez inclure l’URL exacte avec les paramètres de requête dans vos URL de déconnexion autorisées, sinon la demande de déconnexion sera refusée. L’URL doit correspondre exactement, y compris tous les noms et toutes les valeurs des paramètres de requête. Par exemple, si vous transmettez https://example.com/logout?myParam=1234 au paramètre post_logout_redirect_uri (encodé sous la forme https%3A%2F%2Fexample.com%2Flogout%3FmyParam%3D1234), vous devez inclure l’URL complète https://example.com/logout?myParam=1234 dans vos URL de déconnexion autorisées.
Les valeurs dynamiques des paramètres de requête ne sont pas prises en charge. Chaque combinaison unique de noms et de valeurs de paramètres de requête doit être enregistrée comme entrée distincte dans vos URL de déconnexion autorisées.

paramètre ui_locales

La valeur du paramètre ui_locales doit être une liste de langues prises en charge, séparées par des espaces. La première valeur de la liste doit correspondre au réglage Langue par défaut de votre locataire.

paramètre federated

Le paramètre federated ne nécessite aucune valeur. Si vous incluez le paramètre federated lorsque vous appelez le point de terminaison de déconnexion OIDC, Auth0 tente de déconnecter l’utilisateur auprès de son fournisseur d’identité. La norme OIDC prévoit que le flux de déconnexion doit être interrompu afin de demander le consentement de l’utilisateur si le fournisseur OpenID ne peut pas vérifier que la requête provient bien de l’utilisateur. Auth0 applique ce comportement en affichant une invite de consentement pour la déconnexion s’il détecte l’une des conditions suivantes :
  • Ni le paramètre id_token_hint ni le paramètre logout_hint n’est fourni.
  • La revendication sid du jeton d’identité ne correspond pas à la session de navigateur associée à la requête.
  • La valeur du paramètre logout_hint ne correspond pas aux données de la session en cours.
Si l’utilisateur confirme la demande de déconnexion, Auth0 poursuit le flux de déconnexion. Vous pouvez désactiver l’invite de consentement à la déconnexion. Si vous le faites, Auth0 ne tente pas de détecter les comportements anormaux et accepte automatiquement les requêtes de déconnexion. Pour désactiver l’invite de consentement à la déconnexion dans l’Auth0 Dashboard :
  1. Accédez à Dashboard > Settings > Advanced.
  2. Désactivez le bouton bascule Show RP-Initiated Logout End-User Confirmation.

En savoir plus