Skip to main content
Auth0 fournit un flux intégré d’inscription et d’authentification avec Universal Login. Toutefois, si vous souhaitez créer votre propre interface utilisateur, vous pouvez utiliser la MFA API pour y parvenir. Vous pouvez inscrire les utilisateurs et leur envoyer une demande de vérification au moyen de notifications push avec l’application Guardian ou le SDK à l’aide de la MFA API.

Prérequis

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

Configurer la notification push

Obtenir un jeton MFA

Selon le moment où vous déclenchez l’inscription, vous pouvez obtenir un pour utiliser la MFA API de différentes façons :

Inscrire l’authentificateur

Effectuez une requête POST vers le point de terminaison MFA Associate pour inscrire l’authentificateur de l’utilisateur. Le jeton Bearer requis par ce point de terminaison est le jeton MFA obtenu à l’étape précédente. Pour inscrire avec push, définissez le paramètre authenticator_types sur [oob] et le paramètre oob_channels sur [auth0]. Si l’opération réussit, vous recevez une réponse comme celle-ci :
Si vous obtenez une erreur User is already enrolled, c’est que l’utilisateur a déjà un facteur MFA inscrit. Avant d’associer un autre facteur à l’utilisateur, vous devez d’abord lui envoyer une demande de vérification à l’aide du facteur existant. S’il s’agit de la première fois que l’utilisateur associe un authentificateur, vous remarquerez que la réponse inclut recovery_codes. Les codes de récupération servent à accéder au compte de l’utilisateur s’il perd l’accès au compte ou à l’appareil utilisé pour son authentification à deux facteurs. Ces codes sont à usage unique, et de nouveaux codes sont générés au besoin.

Confirmer l’inscription par notification push

Pour confirmer l’inscription, l’utilisateur final devra scanner un code QR avec le barcode_uri dans l’application Guardian au cours des 5 prochaines minutes. Une fois cela fait, l’application Guardian informera Auth0 que l’utilisateur a été inscrit avec succès. Pour vérifier si cela s’est produit, interrogez de façon répétée le point de terminaison des jetons d’Auth0 avec le oob_code renvoyé par la requête au point de terminaison MFA Associate. Si l’utilisateur n’a pas scanné le code, une réponse authorization_pending sera renvoyée, ce qui indique que vous devez faire une nouvelle requête à oauth_token dans quelques secondes :
Si la requête a réussi, vous recevrez une réponse au format suivant contenant le jeton d’accès :
À ce stade, l’authentificateur est bien associé et prêt à être utilisé, et vous disposez des jetons d’authentification de l’utilisateur. Vous pouvez vérifier à tout moment si un authentificateur a été confirmé en effectuant une requête à l’endpoint MFA Authenticators. Si l’authentificateur est confirmé, la valeur renvoyée pour active est true.

Demande d’authentification par notification push

Obtenir un jeton MFA

Obtenez un jeton MFA en suivant les étapes décrites dans S’authentifier à l’aide du Resource Owner Password Grant et de la MFA.

Récupérer les authentificateurs inscrits

Pour la demande de vérification de l’utilisateur, vous avez besoin de l’authenticator_id du facteur que vous souhaitez vérifier. Vous pouvez obtenir la liste de tous les authentificateurs inscrits à l’aide du point de terminaison MFA Authenticators : Vous obtiendrez une liste d’authentificateurs au format suivant :
Lorsque les utilisateurs s’inscrivent avec la fonctionnalité push, ils sont également inscrits à OTP, puisque Guardian prend en charge la demande de vérification par OTP lorsque l’utilisateur n’a pas de connexion.

Lancer une demande d’authentification push pour l’utilisateur

Pour déclencher une demande d’authentification push, envoyez une requête POST au point de terminaison de MFA Challenge en utilisant le authenticator_id correspondant et le mfa_token.

Terminer l’authentification à l’aide du code reçu

Si l’authentification réussit, vous recevez la réponse suivante :
Votre application doit commencer à effectuer des requêtes périodiques vers le endpoint de jeton OAuth0 jusqu’à ce que l’utilisateur accepte la notification push. La requête peut renvoyer l’un des résultats suivants :

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 énoncées dans le 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.
La MFA personnalisable permet aux utilisateurs d’enregistrer et de valider les facteurs de leur choix pris en charge par votre application. Pendant l’authentification à l’endpoint oauth/token, la réponse renvoie l’erreur mfa_required, qui inclut le mfa_token à utiliser avec la MFA API ainsi que le paramètre mfa_requirements, contenant une liste d’authentificateurs :
Utilisez le mfa_token pour envoyer une requête au point de terminaison mfa/authenticator afin d’obtenir la liste de tous les facteurs que l’utilisateur a déjà configurés et de repérer celui du même type que votre application prend en charge. Vous devez aussi obtenir l’authenticator_type correspondant pour déclencher des vérifications :
Imposez la vérification MFA en appelant le endpoint request/mfa/challenge. Personnalisez davantage votre flux MFA avec Auth0 Actions. Pour en savoir plus, consultez Déclencheurs Actions : post-challenge - objet API.

En savoir plus