Déconnexion des utilisateurs d’Auth0 avec le point de terminaison OIDC
Auth0 implémente la déconnexion initié par RP 1.0 d’OpenID Connect pour la déconnexion de l’utilisateur final. Cette norme fait partie de l’ensemble de spécifications finales OpenID Connect.
Fonctionnement
La déconnexion initiée par RP est un scénario dans lequel une partie utilisatrice (utilisateur) demande au fournisseur OpenID (Auth0) de se déconnecter.
L’utilisateur lance une demande de déconnexion dans votre application.
Votre application dirige l’utilisateur vers le point de terminaison de déconnexion OIDC de l’Authentication API Auth0.
Auth0 redirige l’utilisateur vers la destination appropriée en fonction des paramètres de point de terminaison de déconnexion OIDC fournis.
Configurer la déconnexion initiée par RP
Pour configurer la déconnexion initiée par 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 des points de terminaison
Vous pouvez activer RP-Initiated Logout End Session Endpoint Discovery (Découverte du point de terminaison de fin de session de déconnexion initiée par RP) dans l’Auth0 Dashboard ou avec l’Auth0 Management API.
Pour activer la Détection du point de terminaison Déconnexion initiée par la partie de confiance dans Dashboard :
Rendez-vous dans Dashboard > Paramètres > Avancé.
Localisez la section Connexion et déconnexion.
Activez le bouton à bascule Détection du point de terminaison Déconnexion initiée par la partie de confiance.
Pour activer Détection du point de terminaison Déconnexion initiée par la partie de confiance avec Management API :
Obtenez un jeton d’accès à Management API qui inclut la permission
update:tenant_settings
.Appelez le point de terminaison Mise à jour des paramètres du locataire de Management API avec la charge utile suivante :
{ "oidc_logout": { "rp_logout_end_session_endpoint_discovery": true } }
Was this helpful?
/
Appeler le point de terminaison de déconnexion OIDC
Quand vous appelez le point de terminaison de déconnexion OIDC, Auth0 vous recommande de fournir le paramètre id_token_hint
.
Si votre application ne peut pas stocker les jetons d’ID en toute sécurité, vous pouvez fournir les paramètres logout_hint
et client_id
à la place.
Paramètres du point de terminaison de déconnexion OIDC
Le point de terminaison de déconnexion OIDC de l’Authentication API prend en charge les paramètres suivants :
Paramètre | Requis? | Description |
---|---|---|
id_token_hint |
Recommandé | Jeton d’ID précédemment émis pour l’utilisateur. Il indique l’utilisateur à déconnecter. |
logout_hint |
Facultatif | Valeur de l’identifiant de session (sid ) qui indique l’utilisateur à déconnecter. |
post_logout_redirect_uri |
Facultatif | Valeur d’URL de redirection qui indique où rediriger l’utilisateur après la déconnexion. |
federated |
Facultatif | Indique à Auth0 de déconnecter l’utilisateur de son fournisseur d’identité. |
state |
Facultatif | Valeur opaque que l’application ajoute à la requête initiale de déconnexion, et qu’Auth0 inclut lors de la redirection vers le post_logout_redirect_uri . |
ui_locales |
Facultatif | Liste de paramètres régionaux délimitée par des espaces, utilisée pour restreindre la liste des langues de la demande. Les premiers paramètres régionaux de la liste doivent correspondre aux paramètres régionaux activés dans votre locataire. |
Paramètre id_token_hint
La valeur du paramètre id_token_hint
doit être le jeton d’ID qu’Auth0 a émis à l’utilisateur après son authentification.
Le jeton d’ID contient l’émetteur des demandes enregistrées (iss
), l'audience (aud
) et l’ID de la session Auth0 (sid
) pour vérification. Pour en savoir plus sur les demandes relatives aux jetons d’ID, consultez Structure des jetons d’ID.
Exemples
https://{yourDomain}/oidc/logout?id_token_hint={yourIdToken}&post_logout_redirect_uri={yourCallbackUrl}
Was this helpful?
curl --request GET \
--url 'https://{yourDomain}/oidc/logout' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'id_token_hint={yourIdToken}' \
--data 'post_logout_redirect_uri={yourCallbackUrl}'
Was this helpful?
Paramètre logout_hint
La valeur du paramètre logout_hint
doit être l’identification de la session (sid
) de la session Auth0 actuelle de l’utilisateur.
L’identification de la session (sid
) est fournie sous forme de demandes enregistrée dans le jeton d’ID qu’Auth0 a émis à l’utilisateur après son authentification.
Exemple
https://{yourDomain}/oidc/logout?{clientId}={yourClientId}&logout_hint={sessionId}
Was this helpful?
Paramètre post_logout_redirect_uri
La valeur du paramètre post_logout_redirect_uri
doit être une URL codée valide qui a été enregistrée dans la liste des URL de déconnexion autorisées dans vos :
Paramètres d’application : Si vous fournissez le paramètre
id_token_hint
ou les paramètreslogout_hint
etclient_id
.Tenant settings (Paramètres du locataire) : Si vous fournissez uniquement le paramètre
logout_hint
.
Exemple
https://{yourDomain}/oidc/logout?post_logout_redirect_uri=http%3A%2F%2Fwww.example.com
Was this helpful?
Mettre à jour les URL de déconnexion autorisées de l’application
Vous pouvez enregistrer une URL avec la liste des URL de déconnexion autorisées de votre application dans l’Auth0 Dashboard ou avec l’Auth0 Management API.
Pour enregistrer une URL avec votre liste d’application de URL de déconnexion autorisées dans Dashboard :
Sélectionnez votre application.
Localisez la section Application URIs (URI de l’application) .
Mettez à jour URL de déconnexion autorisées en suivant pour ce faire les instructions fournies.
Pour enregistrer une URL avec la liste des URL de déconnexion autorisées de votre application avec Management API :
Obtenir un jeton d’accès à Management API qui comprend les permissions
update:clients
.Appelez le point de terminaison Mettre à jour un client de Management API et assurez-vous d’inclure l’URL dans la valeur du champ
allowed_logout_urls
dans le corps de la demande.PATCH https://{yourDomain}/api/v2/clients/{clientId} Authorization: Bearer {yourMgmtApiAccessToken} Content-Type: application/json { "allowed_logout_urls": [ "https://www.example.com", "https://www.example.com/logout" ] }
Was this helpful?
/
Mettre à jour les URL de déconnexion autorisées du locataire
Vous pouvez enregistrer une URL avec la liste des URL de déconnexion autorisées du locataire dans l’Auth0 Dashboard ou avec l’Auth0 Management API.
Pour enregistrer une URL avec la liste URL de déconnexion autorisées de votre locataire dans Dashboard :
Allez à Dashboard > Paramètres > Avancés.
Localisez la section Connexion et déconnexion.
Mettez à jour les URL de déconnexion autorisées en suivant pour ce faire les instructions fournies.
Pour enregistrer une URL avec la liste des URL de déconnexion autorisées de votre locataire avec la Management API :
Obtenez un jeton d’accès à Management API qui comprend les permissions
update:tenant_settings
.Appelez le point de terminaison Mettre à jour les paramètres du locataire de Management API et assurez-vous d’inclure l’URL dans la valeur du champ
allowed_logout_urls
dans le corps de la demande.PATCH https://{yourDomain}/api/v2/tenants/settings Authorization: Bearer {yourMgmtApiAccessToken} Content-Type: application/json { "allowed_logout_urls": [ "https://www.example.com", "https://www.example.com/logout" ] }
Was this helpful?
/
Directives relatives aux URL de déconnexion autorisées
Quand vous mettez à jour les URL de déconnexion autorisées, suivez les directives ci-dessous pour éviter des erreurs de validation :
Séparez plusieurs valeurs d’URL par une virgule (
,
).Incluez la partie du schéma de l’URL (par exemple
https://
).
Vous pouvez utiliser un astérisque (*
) comme caractère générique pour les sous-domaines (tels que https://*.example.com
), mais nous vous conseillons de ne pas utiliser de caractères génériques dans les environnements de production. Pour en savoir plus, veuillez consulter Paramètres fictifs d'URL de sous-domaine.
Ajouter des paramètres de chaîne de requête à post_logout_redirect_uri
Le point de terminaison de déconnexion OIDC analyse les paramètres de chaîne de requête dans l’URL fournie au paramètre post_logout_redirect_uri
.
Vous devez inclure ces paramètres de chaîne de requête dans vos URL de déconnexion autorisées, sinon la demande de déconnexion pourrait être refusée.
Par exemple, si vous passez https://example.com/logout?myParam=1234
au paramètre post_logout_redirect_uri
(encodé comme https%3A%2F%2Fexample.com%2Flogout%3FmyParam%3D1234
), vous devez inclure https://example.com/logout?myParam
dans vos URL de déconnexions autorisées.
Paramètre ui_locales
La valeur du paramètre ui_locales
doit être une liste de paramètres locaux pris en charge, délimités par des espaces.
La première valeur fournie dans la liste doit correspondre au paramètre de la langue par défaut de votre locataire.
paramètre federated
Le paramètre federated
ne nécessite pas de 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 de son fournisseur d’identité.
Invite de consentement de déconnexion
La norme OIDC définit que le flux de déconnexion doit être interrompu pour demander le consentement de l’utilisateur si le fournisseur OpenID ne peut pas vérifier que la demande a été faite par ce dernier.
Auth0 applique ce comportement en affichant une invite de consentement de déconnexion si l’une des conditions suivantes est détectée :
Les paramètres
id_token_hint
etlogout_hint
ne sont pas fournis.La demande de jeton d’ID
sid
ne correspond pas à la session du navigateur dans la demande.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.
Désactiver l’invite de consentement à la déconnexion
Vous pouvez désactiver l’invite de consentement à la déconnexion. Si vous le faites, Auth0 ne tente pas de détecter un comportement anormal et accepte automatiquement les demandes de déconnexion.
Pour désactiver l’invite de consentement de déconnexion dans le Dashboard :
Accédez à Dashboard > Paramètres > Avancés.
Désactivez la bascule Afficher la confirmation de l’utilisateur final de déconnexion initiée par RP.