Fonctionnement
RP-Initiated Logout est un scénario dans lequel une (utilisateur) demande au fournisseur OpenID (Auth0) de mettre fin à sa session.- L’utilisateur lance une demande de déconnexion dans votre application.
- Votre application redirige l’utilisateur vers le point de terminaison OIDC Logout de l’API d’authentification Auth0.
- Auth0 redirige l’utilisateur vers la destination appropriée selon les paramètres du point de terminaison OIDC Logout fournis.
Configurer RP-Initiated Logout
Pour configurer RP-Initiated Logout, vous devez vous assurer que votre application peut trouver le paramètreend_session_endpoint dans le document de métadonnées de découverte de votre tenant Auth0 et qu’elle appelle le point de terminaison OIDC Logout avec les paramètres nécessaires.
Activer la découverte du point de terminaison
Pour les tenants Auth0 créés le 14 novembre 2023 ou après cette date, RP-Initiated Logout End Session Endpoint Discovery est activé par défaut.
- Dashboard
- Management API
Pour activer RP-Initiated Logout End Session Endpoint Discovery dans le Dashboard :
- Accédez à Dashboard > Paramètres > Avancé.
- Repérez la section Login and Logout.
- Activez la bascule RP-Initiated Logout End Session Endpoint Discovery.
Appeler le point de terminaison OIDC Logout
La plupart des bibliothèques SDK d’Auth0 sont conformes à OIDC et prennent en charge RP-Initiated Logout d’emblée.
id_token_hint.
Si votre application ne peut pas stocker les de façon sécurisée, vous pouvez plutôt fournir les paramètres logout_hint et client_id.
Vous pouvez appeler le point de terminaison OIDC Logout avec des renseignements redondants.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’API d’authentification prend en charge les paramètres suivants :paramètre id_token_hint
Auth0 recommande d’utiliser le paramètre
id_token_hint lorsque vous appelez le point de terminaison OIDC Logout.id_token_hint doit être l’ID token qu’Auth0 a émis pour l’utilisateur après son authentification.
L’ID token contient, à des fins de vérification, les claims enregistrés suivants : l’émetteur (iss), (aud) et l’ID de session Auth0 (sid). Pour en savoir plus sur les claims de l’ID token, consultez Structure de l’ID token.
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) figure comme claim enregistré dans l’ID token qu’Auth0 a émis à l’utilisateur après son authentification.
Paramètre post_logout_redirect_uri
La valeur du paramètrepost_logout_redirect_uri doit être une URL valide et encodée qui a été enregistrée dans la liste des Allowed Logout URLs de votre :
- Paramètres de l’application : si vous fournissez le paramètre
id_token_hint, ou les paramètreslogout_hintetclient_id. - Paramètres du tenant : si vous fournissez uniquement le paramètre
logout_hint.
- Dashboard
- Management API
Pour enregistrer une URL dans la liste des Allowed Logout URLs de votre application dans le Dashboard :
- Accédez à Dashboard > Applications > Applications.
- Sélectionnez votre application.
- Repérez la section Application URIs.
- Mettez à jour les Allowed Logout URLs en suivant les consignes fournies.
- Dashboard
- Management API
Pour enregistrer une URL dans la liste des Allowed Logout URLs de votre tenant dans le Dashboard :
- Accédez à Dashboard > Paramètres > Avancé.
- Repérez la section Login and Logout.
- Mettez à jour les Allowed Logout URLs en suivant les consignes fournies.
- Séparez plusieurs URL par une virgule (
,). - Incluez le schéma de l’URL (par exemple,
https://).
*) 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 Subdomain URL Placeholders.
Le point de terminaison OIDC Logout analyse les paramètres de la chaîne 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 la chaîne de requête dans vos Allowed Logout URLs, sinon la requête de logout 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 Allowed Logout URLs.
paramètre ui_locales
La valeur du paramètreui_locales doit être une liste de locales 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 tenant.
paramètre federated
Le paramètre federated ne nécessite aucune valeur.
Si vous incluez le paramètre federated lorsque vous envoyez une requête au point de terminaison OIDC Logout, Auth0 tente de déconnecter l’utilisateur de son fournisseur d’identité.
Invite de consentement à la déconnexion
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 request a bien été effectuée par l’utilisateur. Auth0 applique ce comportement en affichant une invite de consentement à la déconnexion s’il détecte l’une des conditions suivantes :- Ni le paramètre
id_token_hintni le paramètrelogout_hintn’est fourni. - Le
claimsiddu ID token ne correspond pas à la session du navigateur dans la request. - La valeur du paramètre
logout_hintne correspond pas aux données de la session en cours.

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 tentera pas de détecter de comportement anormal et acceptera automatiquement les requêtes de déconnexion. Pour désactiver l’invite de consentement à la déconnexion dans le Dashboard :- Accédez à Dashboard > Paramètres > Avancé.
-
Désactivez la bascule Show RP-Initiated Logout End-User Confirmation.
