POST au point de terminaison /oauth/token avec les paramètres suivants :
N’oubliez pas que les jetons de sujet et d’acteur utilisés avec Custom Token Exchange peuvent être de n’importe quel format ou type, tant que le code de votre Action peut les interpréter. Vous devez mettre en place une validation rigoureuse des jetons que vous recevez et acceptez. Sinon, vous vous exposez à différents vecteurs d’attaque, comme l’usurpation ou les attaques par rejeu, ce qui pourrait permettre à des acteurs malveillants de s’authentifier à l’aide de l’ID utilisateur d’une autre personne ou d’agir en son nom sans autorisation.Chaque
subject_token_type correspond à un profil d’échange de jeton personnalisé et est associé à une Action qui sera exécutée pour gérer cette transaction.Lorsqu’un acteur est défini pour la transaction, aucun jeton d’actualisation n’est émis, peu importe les scopes demandés. Le scope
offline_access est exclu de la réponse. C’est intentionnel : les jetons délégués ne doivent pas survivre à l’échange immédiat, afin que chaque requête d’accès subséquente passe par la logique d’autorisation de l’Action CTE pour valider de nouveau la délégation.Votre Action CTE est responsable de valider de façon sécuritaire le actor_token en appliquant la même rigueur (par exemple, une vérification de signature cryptographique) que pour le subject_token. Lorsque actor_token_type est urn:ietf:params:oauth:token-type:id_token, Auth0 effectue cette validation automatiquement.event.request.body de l’Action correspondante.
Exemple de requête
Exemple de requête avec un jeton d’acteur
actor_token et actor_token_type :