Passer au contenu principal
Custom Token Exchange (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 énoncées dans le Master Subscription Agreement d’Okta. Pour en savoir plus sur le cycle de lancement des produits d’Auth0, consultez Étapes de lancement des produits. Pour en savoir plus sur les types d’abonnement, consultez la page de tarification d’Auth0.
Une fois que le serveur d’autorisation Auth0 a validé la requête Custom Token Exchange et établi qu’elle correspond à un profil d’échange de jeton personnalisé existant, le déclencheur custom-token-exchange exécute l’unique Action associée à ce profil. Si l’Action se termine correctement et définit un utilisateur pour la transaction, les Actions post-login et le reste du pipeline Auth0 sont alors exécutés pour cet utilisateur connecté.
Les Actions de ce flux sont bloquantes (synchrones), ce qui signifie qu’elles s’exécutent dans le cadre du processus d’un déclencheur et empêchent le reste du pipeline Auth0 de s’exécuter tant que l’Action n’est pas terminée.

Custom Token Exchange vs Actions Post-Login

Le déclencheur des Actions Post-Login s’exécute après l’Action Custom Token Exchange pour l’utilisateur que vous avez défini dans la transaction. Pour d’autres cas d’utilisation, comme l’ajout de revendications personnalisées aux jetons d’accès, utilisez le déclencheur Action Post-Login. Custom Token Exchange utilise le type d’octroi token exchange, dans lequel event.transaction.protocol est défini sur oauth2-token-exchange dans le déclencheur Action Post-Login. Custom Token Exchange et la connexion sociale native utilisent tous deux le type d’octroi token exchange. Pour distinguer les deux, utilisez la valeur de subject_token_type, qui doit correspondre à l’un de vos profils d’échange de jeton personnalisés.
Custom Token Exchange en Accès anticipé ne prend pas en charge api.authentication.challengeWith() ni api.authentication.enrollWith(). Si vous utilisez ces méthodes avec vos Actions Post-Login, la transaction échouera avec une erreur non récupérable. Assurez-vous d’ignorer ces deux méthodes lorsque event.transaction.protocol==oauth2-token-exchange, selon la valeur de subject_token_type.

Prise en charge des acteurs en contexte de 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 qui agit au nom de l’utilisateur concerné. setActor() peut être appelée, que la requête inclue ou non un actor_token. Le paramètre actor_token est l’un des moyens permettant à l’application appelante de transmettre des informations sur l’acteur à l’Action, mais l’identité de l’acteur peut aussi ê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 inclut 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 ID Token Auth0 valide provenant du même locataire, le serveur valide automatiquement le jeton et remplit 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-Login via event.transaction.actor.

Déclencheurs

Custom Token Exchange

Le déclencheur custom-token-exchange est la première étape du pipeline Auth0. Cette fonction est exécutée une fois la requête Custom Token Exchange reçue validée et correctement associée à un profil existant.

Références

  • objet d’événement : Fournit des renseignements contextuels sur une requête d’échange de jeton, notamment le subject_token, l’adresse IP, l’application, et plus encore.
  • objet API : Fournit des méthodes à utiliser avec votre Action Token Exchange pour définir l’utilisateur, définir l’acteur pour la délégation, rejeter la transaction, définir les métadonnées de l’utilisateur, accéder au cache des Actions, etc.

Cas d’utilisation courants

Pour en savoir plus sur les cas d’utilisation courants de Custom Token Exchange, consultez Exemples de cas d’utilisation.