- Partager des données entre les Actions, comme des réponses d’API ou des calculs intermédiaires.
- Éliminer la nécessité de récupérer à nouveau ou de recalculer la même information dans différentes Actions.
- Transmettre l’information d’une Action Custom Token Exchange vers les Post-Login Actions.
Avant d’utiliser les métadonnées de transaction en développement, nous vous recommandons de consulter les limites. Pour en savoir plus, consultez Actions Limitations.
Fonctionnement
Utilisez l’objet API post-loginapi.transaction.setMetadata pour définir une paire clé-valeur afin de stocker des métadonnées de transaction.
Utilisez l’objet Event post-login event.transaction.metadata pour accéder à une paire clé-valeur stockée dans la même Action ou dans des Actions ultérieures du trigger post-login, au cours d’une même exécution.
Les objets api et event sont également disponibles dans les Actions Custom Token Exchange.
Les objets API et Event acceptent les paramètres suivants :
Pour en savoir plus sur la création d’Actions, consultez Write Your First Action.
Latence
L’utilisation de Actions Transaction Metadata pourrait entraîner une légère latence supplémentaire. Cette latence serait proportionnelle à la taille de la charge utile de métadonnées et se manifesterait lors des suspensions d’Actions. Par exemple, le déclenchement de , les redirections à partir de Actions ou le rendu de Forms pourraient causer des problèmes de latence, puisqu’il faut recharger les données à partir du stockage. Cela dit, cette latence potentielle devrait rester inférieure à celle causée par des requêtes HTTP sortantes redondantes pour récupérer les données dont la séquence d’Actions a besoin.Exemples
Accédez immédiatement aux métadonnées de transaction
Définissez des paires clé-valeur dans les métadonnées de transaction et accédez immédiatement aux valeurs.Définir les valeurs prises en charge
Définissez des valeurs des types suivants :string, number et boolean.
Sérialiser des valeurs
Sérialisez les valeurs sous forme dechaînes de caractères dans les limites.
Vous ne pouvez pas définir des valeurs de type
objet ou tableau, mais vous pouvez les sérialiser en chaînes de caractères.Partager des valeurs entre les Actions
Partagez des paires clé-valeur entre les Actions dans la même séquence d’exécution. Action 1 Définissez la cléhello sur la valeur Auth0 à l’aide de la méthode setMetadata de l’objet api.
Auth0 de la clé hello dans les métadonnées de transaction à l’aide de la propriété transaction.metadata de l’objet event pour accéder aux valeurs définies.
Partager des valeurs entre Custom Token Exchange et Post-Login
Définissez une paire clé-valeur dans une Action Custom Token Exchange, puis lisez-la dans une Action Post-Login au cours de la même transaction. Cela est utile, par exemple, pour définir une revendication personnalisée dans l’Action Post-Login à partir de renseignements que votre Action Custom Token Exchange a déjà obtenus ou traités depuis lesubject_token ou l’actor_token.
Action Custom Token Exchange
Décodez une revendication du subject_token et définissez-la comme métadonnées de transaction à l’aide de la méthode setMetadata() de l’objet api.
subject_locale définie par l’Action Custom Token Exchange à l’aide de la propriété transaction.metadata de l’objet event, puis utilisez-la pour définir une revendication personnalisée. La revendication peut être ajoutée au jeton d’accès, au jeton ID ou aux deux.
Mettre à jour les métadonnées
Définissez une clé existante avec une valeur différente pour mettre à jour les métadonnées. Action 1 Définissez la paire clé-valeur des métadonnées de transaction surcustom_tx_id et xyz123.
custom_tx_id et la valeur xyz123. Ensuite, définissez custom_tx_id sur abc456 pour consigner de nouveau la valeur la plus récente de custom_tx_id dans les métadonnées de transaction.
abc456 de custom_tx_id.
Supprimer les métadonnées
Supprimez les valeurs des métadonnées de transaction en attribuant la valeurnull à chaque clé concernée.
Action 1
Définissez custom_tx_id dans les métadonnées de transaction.
custom_tx_id sur null et consignez la valeur null de custom_tx_id.
null pour custom_tx_id.
Conserver les valeurs lors d’une redirection vers des sites externes
Conservez les métadonnées de transaction pendant les redirections. Les valeurs sont accessibles lorsque les utilisateurs reprennent le flux d’authentification. Action 1 Définit uncustom_tx_id dans les métadonnées de transaction.
custom_tx_id issu des métadonnées de la transaction. Ensuite, compare la valeur de custom_tx_id dans les métadonnées de la transaction à celle transmise au site externe, puis renvoyée dans la charge utile d’un autre jeton.
Préserver les valeurs lors de l’affichage des Forms
Les valeurs des Forms affichés à l’aide d’Actions et les valeurs des métadonnées de transaction seront conservées et resteront accessibles lorsque les utilisateurs poursuivent le flux d’authentification. Pour en savoir plus sur l’utilisation de Forms avec Actions, consultez Afficher des Forms à l’aide d’Actions. Action 1 Définit uncustom_tx_id dans les métadonnées de transaction.
custom_tx_id conservé à la reprise de l’exécution d’Actions.
Partager des valeurs avec Forms
Vous pouvez utiliser Actions pour afficher des Forms et transmettre au Form des valeurs de métadonnées de transaction. Action 1 Définit uncustom_tx_id dans les métadonnées de transaction.
custom_tx_id des métadonnées de la transaction comme paramètre vars. Il compare ensuite la valeur de custom_tx_id dans les métadonnées de la transaction à celle transmise au Form lorsque l’exécution des Actions se poursuit.