Skip to main content
L’échange de jetons personnalisé (CTE) est actuellement offert en accès anticipé à tous les clients Auth0 B2C Professional, B2B Professional et Enterprise. En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit de l’accord-cadre d’abonnement d’Okta. Pour en savoir plus sur le cycle de publication des produits d’Auth0, consultez les étapes de publication des produits. Pour en savoir plus sur les types d’abonnement, consultez la page de tarification d’Auth0.
Le déclencheur 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é.
Diagramme illustrant le flux du déclencheur d’échange de jetons personnalisé des Actions.
Les Actions de ce flux sont bloquantes (synchrones) : elles s’exécutent dans le cadre du processus du déclencheur et empêchent le reste du pipeline Auth0 de s’exécuter tant que l’Action n’est pas terminée.

Échange de jetons personnalisé et Actions post-connexion

Le déclencheur des Actions post-connexion s’exécute après l’Action d’échange de jetons personnalisé pour l’utilisateur défini dans la transaction. Pour d’autres cas d’utilisation, par exemple pour ajouter des revendications personnalisées aux jetons d’accès, utilisez le déclencheur d’Action post-connexion. L’Échange de jetons personnalisé utilise le type d’autorisation d’échange de jetons. Dans le déclencheur d’Action 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

Le déclencheur 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.

Cas d’utilisation courants

Pour découvrir des cas d’utilisation courants de l’échange de jetons personnalisé, consultez Exemples de cas d’utilisation.