- Sécuriser les opérations sensibles exécutées depuis vos propres services, comme l’approbation de virements bancaires, l’accès à l’historique des opérations et les changements aux identifiants d’accès.
- Sécuriser les opérations sensibles demandées depuis des services tiers, comme l’approbation de paiements numériques et l’autorisation d’un accès unique pour la vérification de compte.
Vous devez configurer l’autorisation transactionnelle pour chaque API. Une fois activée, elle s’applique aux scopes et aux
authorization_details.types de cette API.Prérequis
authorization_details.types de votre API ou de votre .
Flux de bout en bout
- Redirigez l’utilisateur de manière sécuritaire vers Auth0 avec les détails de la transaction. À cette étape, évitez d’exposer des renseignements sensibles sur le canal frontal (p. ex., le navigateur).
- Appliquez une politique dynamique après l’authentification de l’utilisateur. À l’aide d’Actions, vous pouvez déterminer dynamiquement les prochaines étapes selon les détails de la transaction et d’autres renseignements obtenus de sources comme des API externes. Pour en savoir plus, consultez Appliquer une politique dynamique.
- Soumettez l’utilisateur à un défi avec un deuxième facteur d’authentification et affichez les détails de la transaction afin qu’il puisse les approuver explicitement. Cette étape dépend du facteur d’authentification que vous avez choisi d’appliquer à l’aide d’Actions.
- Obtenez le jeton d’accès et poursuivez l’opération sensible. Votre API valide les détails de la transaction approuvés associés au jeton d’accès.

Communiquer les détails de la transaction et rediriger vers Auth0
/authorize, PAR envoie directement les paramètres de votre backend vers un point de terminaison spécial, /par, au moyen d’une requête POST. Pour savoir comment le configurer, consultez Configurer les requêtes d’autorisation poussées.
Dans le corps de la requête PAR, les détails de la transaction sont envoyés dans l’objet JSON authorization_details :
authorization_details afin de déterminer quels facteurs d’authentification utiliser en fonction de la transaction. Pour en savoir plus sur authorization_details et sur son utilisation avec PAR, consultez Flux du code d’autorisation avec Rich Authorization Requests.
Si vous voulez satisfaire aux exigences de conformité FAPI 1 Advanced Security, vous devez aussi utiliser la cryptographie à clé publique pour authentifier le backend auprès du point de terminaison /par ou /token. Cette méthode est plus sécuritaire que l’envoi d’un . Auth0 offre les méthodes d’authentification par cryptographie à clé publique suivantes :
Après avoir reçu une réponse positive à votre requête PAR, redirigez l’utilisateur vers le point de terminaison /authorize de votre tenant Auth0. Ajoutez le paramètre request_uri reçu dans la réponse PAR ainsi que le client_id comme seuls paramètres de requête, ce qui masque efficacement toute information sensible au navigateur.
Appliquer une politique dynamique
/authorize de votre tenant Auth0, Auth0 tente d’authentifier l’utilisateur. Dans notre exemple d’approbation d’un virement bancaire, Auth0 a déjà authentifié l’utilisateur pour lui permettre d’accéder à votre application web. Cependant, lorsqu’un tiers redirige l’utilisateur, par exemple pour un paiement numérique, Auth0 lui présente un écran de connexion. Pour en savoir plus sur le flux d’authentification, consultez la documentation Authenticate.
Une fois l’utilisateur authentifié avec succès, Auth0 déclenche les Actions post-login, qui exposent les détails de la transaction concernant l’utilisateur, l’application, le ou les facteurs d’authentification utilisés, et plus encore dans l’objet d’événement post-login. Dans l’objet d’événement post-login, la propriété event.transaction.requested_authorization_details contient les détails de la demande d’autorisation reçus à l’étape précédente.
Utilisez l’objet d’événement post-login pour décider de la marche à suivre pour la transaction. Par exemple, vous pouvez envoyer les détails de la transaction à un moteur de risque externe et, après avoir évalué le niveau de risque, déterminer s’il faut demander une authentification renforcée à l’aide du SMS, comme l’illustre l’exemple de code suivant.
Soumettre l’utilisateur à un défi pour obtenir l’approbation des détails de la transaction
Notifications push

otpFallback: false.
Pour afficher les authorization_details à l’utilisateur, l’application mobile doit les récupérer à partir du paramètre txlnkid. Le SDK Auth0 Guardian transmet le paramètre txlnkid du tenant à l’application mobile au moyen d’une notification push.
Après avoir reçu la notification push par l’entremise du SDK Guardian, l’application mobile peut récupérer les consent details, y compris les authorization_details, à partir de l’Auth0 Consent API :
- iOS
- Android
api.multifactor.enable() avant api.authentication.challengeWith() pour supprimer l’option permettant de mémoriser cet appareil et obliger l’utilisateur à valider le défi push pour toutes les transactions. Pour en savoir plus, consultez Déclencheurs d’Actions : post-login - objet API.
Une fois que l’utilisateur approuve ou refuse l’opération, l’application mobile peut accepter ou rejeter le défi MFA. La transaction passe ensuite à l’étape Complete the operation.
Pour vérifier l’identité de l’utilisateur qui ouvre la notification push, vous pouvez ajouter l’authentification biométrique à l’application mobile. Pour en savoir plus, consultez Configurer WebAuthn avec Device Biometrics pour MFA.
SMS, courriel ou WebAuthn

Dans Actions, vous pouvez appeler
api.multifactor.enable('any', { allowRememberBrowser: false }) avant api.authentication.challengeWith pour supprimer l’option permettant de mémoriser cet appareil et obliger l’utilisateur à valider le défi push pour toutes les transactions.Aucun défi
Terminer l’opération
authorization_details que vous avez transmis initialement. L’exemple de code suivant montre le contenu d’un jeton d’accès déchiffré :
authorization_details du jeton d’accès afin de valider les détails de la transaction, comme le montant, l’émetteur, la destination, entre autres. Une fois la vérification terminée, le transfert d’argent est exécuté avec succès, et vous devriez voir l’écran d’approbation.
Si la transaction est rejetée à une étape quelconque, le navigateur de l’utilisateur affiche un code d’erreur access_denied.