Authorization. Comme l’API backend ne reçoit aucun jeton d’actualisation émis à la SPA, elle ne peut pas utiliser l’échange de jeton d’actualisation pour accéder à Token Vault et appeler des API externes.
L’API backend peut plutôt échanger le jeton d’accès Auth0 reçu de la SPA contre le jeton d’accès d’un fournisseur externe, ce qu’on appelle aussi l’échange de jeton d’accès. Ce processus permet de protéger les informations d’authentification externes sensibles dans le backend.
Dans l’échange de jeton d’accès d’Auth0, l’API backend agit à la fois comme client et comme serveur de ressources :
- Client : Utilise ses propres informations d’authentification pour effectuer de façon sécurisée l’échange de jeton d’accès avec le serveur d’autorisation Auth0. Dans Auth0, vous créez un Custom API Client ayant le même identifiant que l’API backend. L’API backend transmet les informations d’authentification du Custom API Client pour effectuer de façon sécurisée l’échange de jeton d’accès avec le serveur d’autorisation Auth0.
- Serveur de ressources : Expose l’API backend à la SPA et valide le jeton d’accès Auth0.
Cas d’utilisation
- Une API backend : un utilisateur interagit avec une SPA, qui envoie ensuite une requête à une API backend pour échanger, auprès du serveur d’autorisation Auth0, un jeton d’accès Auth0 contre le jeton d’accès d’un fournisseur externe.
- Architecture en microservices : des services backend, comme des serveurs MCP ou d’autres serveurs de ressources OAuth 2.0, qui doivent échanger des jetons d’accès pour accéder à des API externes.
Fonctionnement

Prérequis
Étape 2 : le SPA appelle l’API backend avec le jeton d’accès Auth0
Authorization. L’API backend valide le jeton d’accès Auth0 en vérifiant les éléments suivants :
- Signature : Vérifiez la signature du jeton à l’aide de la clé publique d’Auth0. Cela confirme qu’Auth0 a émis le jeton d’accès.
- Émetteur : Vérifie la claim
issdans le payload du jeton pour confirmer que le jeton a été émis par votre tenant Auth0. - Audience : Vérifie la claim
audpour s’assurer qu’elle correspond à l’identifiant unique de l’API backend elle-même. Cela confirme que le jeton a été émis spécifiquement pour ce serveur de ressources. - Expiration : Valide la claim
exppour s’assurer que le jeton est toujours valide et n’a pas expiré. - Scopes : Vérifie la claim
scopepour déterminer quelles permissions ont été accordées à l’utilisateur.
Étape 3 : L’API backend effectue l’échange de jeton d’accès
POST au point de terminaison /oauth/token.
Dans la requête de jeton, l’API backend :
- Transmet les identifiants client de l’API backend (ceux du Custom API Client) au serveur d’autorisation Auth0 pour s’authentifier.
- Échange un jeton d’accès Auth0 contre un jeton d’accès Google.
Le serveur d’autorisation Auth0 valide et charge le profil utilisateur associé au jeton d’accès Auth0 :
- Auth0 vérifie que le client qui effectue la demande d’échange de jeton d’accès est lié à l’API backend identifiée par l’
audiencedu jeton d’accès. - Auth0 vérifie si le tableau
connected_accountsdu profil utilisateur contient un compte d’utilisateur avec le nom de la connexion transmis dans la demande d’autorisation. - Si la demande d’autorisation contient
login_hint, Auth0 recherche une identity correspondant à la fois au nom de la connexion et aulogin_hint. - Si Auth0 ne trouve pas l’utilisateur, il renvoie un code d’état
401avec un message d’erreur.