Cas d’utilisation
- Application web : une application de productivité en ligne se connecte au calendrier Google d’un utilisateur et effectue des tâches en son nom, comme la planification de réunions, sans exiger que l’utilisateur se réauthentifie.
- Application mobile : une application de galerie de photos mobile se connecte au compte Google Photos d’un utilisateur et téléverse les photos au fur et à mesure qu’elles sont prises, en gardant l’utilisateur connecté en actualisant le jeton d’accès en tâche de fond.
Fonctionnement

Prérequis
Étape 2 : Effectuer l’échange du jeton d’actualisation
Même si Token Vault ne prend pas en charge la rotation des jetons d’actualisation, vous pouvez utiliser DPoP pour lier les jetons émis par Auth0 à votre client afin d’accroître la sécurité. Pour réussir l’échange du jeton d’actualisation avec Token Vault, désactivez l’option Allow Refresh Token Rotation pour votre application dans l’Auth0 Dashboard.
POST vers le point de terminaison /oauth/token avec les paramètres suivants :
| Paramètre | Description |
|---|---|
grant_type | Le type de grant. Pour Token Vault, définissez-le sur 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 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 google-oauth2. |
login_hint | (Facultatif) N’utilisez login_hint que si l’utilisateur a plusieurs comptes provenant 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 jetons, vous identifiez explicitement lequel des multiples comptes liés de l’utilisateur est visé par la requête. |
- Auth0 vérifie si le tableau
connected_accountsdu profil utilisateur contient un compte utilisateur dont le nom de la connexion correspond à celui transmis dans la requête d’autorisation. - Si la requête d’autorisation contient
login_hint, Auth0 recherche une identité correspondant à la fois au nom de la connexion et àlogin_hint. - Si Auth0 ne trouve pas l’utilisateur, il renvoie un code d’état HTTP
401avec un message d’erreur.