Authentifier à l’aide du flux Resource Owner Password avec MFA
Découvrez comment authentifier des utilisateurs à l’aide du flux Resource Owner Password avec MFA.
Vous pouvez utiliser l’API MFA d’Auth0 pour terminer le flux d’authentification au moyen du flux Resource Owner Password (parfois appelé Password Grant ou ROPG) lorsque est activée.
Lorsque vous utilisez le flux Resource Owner Password pour authentifier un utilisateur, appelez le point de terminaison /oauth/token avec son nom d’utilisateur et son mot de passe.Lorsque la MFA est activée, la réponse inclut une erreur mfa_required et un mfa_token.
La durée de validité par défaut des jetons d’accès avec l’audience https://{yourDomain}/mfa/* est de 10 minutes. Cette valeur ne peut pas être configurée.
Après avoir obtenu l’erreur ci-dessus, vous devez vérifier si l’utilisateur a inscrit un facteur MFA ou non. Appelez le point de terminaison MFA Authenticators en utilisant le jeton MFA obtenu dans la section précédente.Vous obtiendrez un tableau contenant les authentificateurs disponibles. Le tableau sera vide si l’utilisateur n’a inscrit aucun facteur.
Si l’utilisateur n’est pas inscrit à MFA, utilisez le jeton MFA obtenu précédemment pour l’inscrire à l’aide du point de terminaison MFA Associate. Consultez les liens suivants pour implémenter ce flux selon le facteur d’authentification :
Si l’utilisateur est déjà inscrit à MFA, vous devez lui présenter un défi à 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 Challenge.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 implémenter ce flux selon le facteur d’authentification :
Délai d’expiration : Le délai d’expiration des codes OTP de MFA est de 5 minutes. Cette valeur n’est pas configurable.Validation du code : Une fois qu’un utilisateur a validé un code OTP de MFA, il ne peut plus être réutilisé.Limitation du nombre de tentatives de validation de code : Les tentatives de validation infructueuses d’un utilisateur sont soumises à une limite de débit au moyen d’un algorithme de seau. Le seau commence à 10 tentatives et se recharge au rythme de 1 tentative toutes les 6 minutes.
La personnalisation de la MFA avec les flux Resource Owner Password Grant, Embedded ou Refresh Token est en accès anticipé. 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 les phases de lancement d’Auth0, consultez Product Release Stages. Pour participer à l’accès anticipé, communiquez avec l’assistance Auth0.
Personnalisez vos flux MFA avec l’API MFA. Avec l’API MFA, vous pouvez permettre à vos utilisateurs de s’inscrire et d’effectuer un défi à l’aide d’un choix précis de facteurs pris en charge par votre application.Lorsque la MFA est activée avec le flux Resource Owner Password pour l’authentification, appelez le point de terminaison /oauth/token afin de 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 l’API MFA lors de l’inscription et des 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 appeler le point de terminaison mfa/authenticator afin de répertorier tous les facteurs auxquels l’utilisateur s’est déjà inscrit 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 lancer des défis :