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 leauthenticator_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
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_tokendont 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.
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 :
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
- Inscrire et lancer des défis avec les authentificateurs SMS et appel vocal
- Inscrire et lancer des défis avec les authentificateurs OTP
- Inscrire et lancer des défis avec les authentificateurs push
- Inscrire et lancer des défis avec les authentificateurs courriel
- Gérer les facteurs d’authentification avec l’Authentication API
- Facteurs d’authentification multifacteur