Skip to main content
Vous pouvez utiliser l’Auth0 MFA API pour mener à bien le flux d’authentification à l’aide du Resource Owner Password Flow (parfois appelé Password Grant ou ROPG) lorsque la est activée.

Prérequis

Pour pouvoir utiliser les API MFA, vous devez activer le type d’octroi MFA pour votre application. Accédez à Auth0 Dashboard > Applications > Advanced Settings > Grant Types et sélectionnez MFA.

Authentifier un utilisateur

Lorsque vous utilisez le Resource Owner Password Flow pour authentifier un utilisateur, vous envoyez une requête au point de terminaison /oauth/token avec le nom d’utilisateur et le mot de passe de l’utilisateur. Lorsque l’authentification multifacteur (MFA) est activée, la réponse contient une erreur mfa_required et un mfa_token.
La durée d’expiration par défaut des jetons d’accès ayant l’audience https://{yourDomain}/mfa/* est de 10 minutes. Cette valeur n’est pas configurable.

Récupérer les authentificateurs inscrits

Après avoir obtenu l’erreur ci-dessus, vous devez déterminer si l’utilisateur a inscrit un facteur MFA ou non. Effectuez une requête au point de terminaison MFA Authenticators en utilisant le jeton MFA obtenu dans la section précédente. Vous recevrez un tableau contenant les authentificateurs disponibles. Le tableau sera vide si l’utilisateur n’a inscrit aucun facteur.

Inscrire un facteur MFA

Si l’utilisateur n’est pas inscrit à la MFA, utilisez le jeton MFA obtenu précédemment pour inscrire un facteur à l’aide du endpoint MFA Associate. Consultez les liens suivants pour mettre en œuvre ce flux selon le facteur d’authentification :

Défi de l’utilisateur avec MFA

Si l’utilisateur est déjà inscrit à la MFA, vous devez lui demander de confirmer son identité à l’aide de l’un des facteurs existants. Utilisez le authenticator_id renvoyé par le point de terminaison MFA Authenticators lorsque vous appelez le point de terminaison MFA Défi. Une fois le défi terminé, appelez de nouveau le point de terminaison /oauth/token pour finaliser le flux d’authentification et obtenir les jetons d’authentification. Consultez les liens ci-dessous pour mettre en œuvre ce flux selon le facteur d’authentification :

Limites et restrictions des codes OTP MFA

Délai d’expiration : Le délai d’expiration des codes OTP MFA est de 5 minutes. Cette valeur n’est pas configurable. Validation du code : Après qu’un utilisateur a validé un code OTP MFA, ce code ne peut plus être réutilisé. Limitation du nombre de validations du code : Les tentatives de validation infructueuses sont soumises à une limitation du nombre de requêtes au moyen d’un algorithme de seau. Le seau contient au départ 10 tentatives et se recharge à raison d’une tentative toutes les 6 minutes.

Personnaliser la MFA

La MFA personnalisable avec les flux Resource Owner Password Grant, Embedded ou Refresh Token est en accès anticipé. En utilisant cette fonctionnalité, vous acceptez les conditions d’essai gratuit applicables de l’Master Subscription Agreement d’Okta. Pour en savoir plus sur les étapes de lancement d’Auth0, consultez Product Release Stages. Pour participer à l’accès anticipé, communiquez avec Auth0 Support.
Personnalisez vos flux MFA avec la MFA API. Avec la MFA API, vous pouvez permettre à vos utilisateurs d’inscrire des facteurs et de répondre à des défis à l’aide d’un ensemble précis de facteurs pris en charge par votre application. Lorsque la MFA est activée avec le Resource Owner Password Flow pour authentifier l’utilisateur, envoyez une requête au point de terminaison /oauth/token endpoint pour demander un jeton d’accès. Le serveur d’autorisation renvoie une erreur mfa_required qui fournit :
  • Le mfa_token dont vous avez besoin pour appeler la MFA API pour l’inscription et les défis.
  • Le paramètre mfa_requirements, qui indique le type de facteur pris en charge par votre application pour les défis.
Utilisez le mfa_token pour effectuer une requête à l’mfa/authenticator endpoint afin de lister tous les facteurs que l’utilisateur a enregistrés et de repérer celui du même type que celui pris en charge par votre application. Vous devez aussi obtenir l’authenticator_type correspondant pour émettre des défis :
Imposez le défi MFA en appelant le point de terminaison request/mfa/challenge. Personnalisez davantage votre flux MFA avec Auth0 Actions. Pour en savoir plus, consultez Actions Triggers: post-challenge - API Object.

En savoir plus