custom-token-exchange constitue la première étape du pipeline Auth0. Une fois que le serveur d’autorisation Auth0 a validé la requête d’échange de jetons personnalisé et établi qu’elle correspond à un profil d’échange de jetons personnalisé existant, le déclencheur exécute l’unique Action associée à ce profil. Si l’Action s’exécute avec succès et définit un utilisateur pour la transaction, les Actions post-login et le reste du pipeline Auth0 s’exécutent alors pour cet utilisateur authentifié.

Échange de jetons personnalisé et Actions post-connexion
event.transaction.protocol est défini sur oauth2-token-exchange. L’Échange de jetons personnalisé et la connexion sociale native utilisent tous deux ce type d’autorisation. Pour les distinguer, utilisez la valeur de subject_token_type, qui doit correspondre à l’un de vos profils d’échange de jetons personnalisé.
L’accès anticipé à l’Échange de jetons personnalisé ne prend pas en charge
api.authentication.challengeWith() ni api.authentication.enrollWith(). Si vous utilisez ces méthodes avec vos Actions post-connexion, la transaction échouera et générera une erreur irrécupérable. Veillez à ne pas utiliser ces deux méthodes lorsque event.transaction.protocol === 'oauth2-token-exchange', selon la valeur de subject_token_type.Prise en charge de l’acteur pour la délégation
custom-token-exchange prend en charge les scénarios d’autorisation déléguée. L’Action peut appeler api.authentication.setActor() pour inclure une revendication act dans les jetons émis, afin d’identifier le principal agissant au nom de l’utilisateur concerné.
setActor() peut être appelé, que la requête contienne ou non un actor_token. Le paramètre actor_token permet à l’application appelante de transmettre des renseignements sur l’acteur à l’Action, mais l’identité de l’acteur peut également être intégrée au subject_token lui-même ou obtenue par d’autres moyens personnalisés dans le code de l’Action.
Lorsque la requête contient actor_token et actor_token_type, ces valeurs sont disponibles dans event.transaction. Si actor_token_type est urn:ietf:params:oauth:token-type:id_token et que le jeton est un jeton d’ID Auth0 valide provenant du même tenant, le serveur valide automatiquement le jeton et renseigne event.transaction.actor_token_user avec le profil utilisateur de l’acteur.
La revendication act définie au moyen de setActor() est également disponible dans les Actions post-connexion par l’entremise de event.transaction.actor.
Auth0 prend en charge l’émission d’un Session Transfer Token contenant l’acteur dans son contexte, afin d’établir une session Web déléguée pour un autre utilisateur. Pour en savoir plus, consultez Délégation de session.
Références
- Objet Event : fournit des renseignements contextuels sur la requête d’échange de jetons, notamment le
subject_token, l’adresse IP, le client et plus encore. - Objet API : fournit des méthodes à utiliser avec votre Action d’échange de jetons pour définir l’utilisateur, définir l’acteur pour la délégation, rejeter la transaction, définir les métadonnées utilisateur, accéder au cache Actions et plus encore.