Cas d’utilisation
- Application Web : une application Web de productivité se connecte au Google Calendar d’un utilisateur et effectue des tâches en son nom, comme planifier des réunions, sans que l’utilisateur ait à s’authentifier de nouveau.
- Application mobile : une application mobile de galerie photo se connecte au compte Google Photos d’un utilisateur et téléverse les photos au fur et à mesure qu’elles sont prises, tout en maintenant la session de l’utilisateur active grâce à l’actualisation du jeton d’accès en arrière-plan.
Fonctionnement

Prérequis
Étape 2 : Effectuer l’échange de jeton d’actualisation
Bien que Token Vault ne prenne pas en charge la rotation des jetons d’actualisation, vous pouvez utiliser DPoP pour lier les jetons émis par Auth0 à votre application et ainsi renforcer la sécurité. Pour effectuer correctement l’échange de jeton d’actualisation avec Token Vault, désactivez Allow Refresh Token Rotation pour votre application dans l’Auth0 Dashboard.
POST au point de terminaison /oauth/token avec les paramètres suivants :
| Parameter | Description |
|---|---|
grant_type | Le type d’octroi. Pour Token Vault, définissez-le à urn:auth0:params:oauth:grant-type:token-exchange:federated-connection-access-token |
client_id | ID de l’application cliente |
client_secret | Secret client. Remarque : Vous pouvez utiliser n’importe quelle méthode d’authentification du client pour obtenir le jeton d’accès d’un fournisseur externe. |
subject_token_type | Type de jeton du sujet. Pour Token Vault, définissez-le sur le jeton d’actualisation : urn:ietf:params:oauth:token-type:refresh_token |
subject_token | Le jeton d’actualisation Auth0 que le serveur d’autorisation Auth0 valide pour identifier l’utilisateur. |
requested_token_type | Le type de jeton demandé. Pour Token Vault, définissez-le sur le jeton d’accès du fournisseur externe ou sur http://auth0.com/oauth/token-type/federated-connection-access-token |
connection | Le nom de la connexion, dans ce cas-ci, google-oauth2. |
login_hint | (Facultatif) Utilisez login_hint uniquement si l’utilisateur a plusieurs comptes issus de la même connexion, par exemple un compte Google professionnel et un compte Google personnel. Lorsque vous transmettez une valeur pour login_hint pendant l’échange de jeton, vous indiquez explicitement auquel des comptes liés de l’utilisateur la demande s’applique. |
- Auth0 vérifie si le tableau
connected_accountsdu profil de l’utilisateur contient un compte associé au nom de la connexion transmis dans la demande d’autorisation. - Si la demande d’autorisation contient
login_hint, Auth0 recherche une identité qui correspond à la fois au nom de la connexion et àlogin_hint. - Si Auth0 ne trouve pas l’utilisateur, il renvoie un code d’état
401avec un message d’erreur.