Passer au contenu principal

Before you start

Auth0 fournit plusieurs Points de terminaison API pour vous aider à gérer les authentifiants que vous utilisez avec une application pour l’authentification multifacteur (). Vous pouvez utiliser ces points de terminaison pour créer une interface utilisateur complète permettant aux utilisateurs de gérer leurs facteurs d’authentification.

Obtention des jetons d’accès API MFA

Pour appeler l’API MFA afin de gérer les enregistrements, vous devez d’abord obtenir un jeton d’accès pour l’API MFA. Pour utiliser l’API MFA dans le cadre d’un flux d’authentification, vous pouvez suivre les étapes détaillées dans Authentification avec l’octroi du mot de passe du propriétaire de la ressource et MFA. Si vous construisez une interface utilisateur pour gérer les facteurs d’authentification, vous devrez obtenir un jeton que vous pourrez utiliser pour l’API MFA à tout moment, pas seulement pendant l’authentification. Si vous utilisez Universal Login (Connexion universelle), redirigez l’utilisateur vers le point de terminaison Authorize, en spécifiant le public https://{yourDomain}/mfa/, avant d’appeler l’API MFA.

Connexion universelle

Si vous utilisez Connexion universelle, redirigez l’utilisateur vers le point de terminaison Authorize, en spécifiant l’ https://{yourDomain}/mfa/, avant d’appeler l’API MFA.
Lorsque https://{yourDomain}/mfa/ est spécifié en tant que l’audience, l’authentification multifactorielle (MFA) est appliquée. Lorsque les utilisateurs finaux activent Remember this browser(Se souvenir de ce navigateur) alors que .../mfa est spécifié comme audience, le paramètre n’aura aucun effet.Auth0 recommande que les administrateurs de locataire créent une actionqui définit allowRememberBrowser sur false (faux). Cela masquera l’option Remember this browser (Se souvenir de ce navigateur) dans l’expérience de l’utilisateur final.

Octroi par mot de passe du propriétaire de la ressource

Si vous utilisez la méthode de la Subvention du Propriétaire de la Ressource ( Password Grant/ROPG), vous disposez de 3 options :
  • Lors de la connexion, faites appel à l’audience https://{yourDomain}/mfa/ et utilisez un jeton d’actualisation pour l’actualiser plus tard.
  • Si vous devez répertorier et supprimer des authentifiants, demandez à l’utilisateur de s’authentifier à nouveau avec /oauth/token, en spécifiant l’audience https://{yourDomain}/mfa/. Les utilisateurs devront effectuer une authentification multifacteur avant de pouvoir répertorier et/ou supprimer les facteurs d’authentification.
  • Si vous avez uniquement besoin de répertorier les authentifiants, demandez à l’utilisateur de s’authentifier à nouveau en utilisant /oauth/token avec nom d’utilisateur/mot de passe. Le point de terminaison renverra une erreur mfa_required et un mfa_token que vous pouvez utiliser pour répertorier les authentifiants. Les utilisateurs devront fournir leur mot de passe pour voir leurs authentifiants.

Permissions

Lorsque vous demandez un jeton pour l’audience MFA, vous pouvez demander les permissions suivantes :
PermissionDescription
enrollPour inscrire un nouvel authentificateur.
read:authenticatorsPour répertorier les authentificateurs existants.
remove:authenticatorsPour supprimer un authentificateur.

Répertorier les authentifiants

Pour obtenir une liste des authentifiants pour un utilisateur, vous pouvez appeler le point de terminaison des authentifiants MFA :
curl --request GET \
  --url 'https://{yourDomain}/mfa/authenticators' \
  --header 'authorization: Bearer MFA_TOKEN'
Dans la réponse, vous devriez recevoir des informations concernant le(s) type(s) d’authentifiants :
[
  {
    "authenticator_type": "recovery-code",
    "id": "recovery-code|dev_IsBj5j3H12VAdOIj",
    "active": true
  },
  {
    "authenticator_type": "otp",
    "id": "totp|dev_nELLU4PFUiTW6iWs",
    "active": true,
  },
  {
    "authenticator_type": "oob",
    "oob_channel": "sms",
    "id": "sms|dev_sEe99pcpN0xp0yOO",
    "name": "+1123XXXXX",
    "active": true
  }
]
Avec comme objectif de créer une interface utilisateur permettant aux utilisateurs finaux de gérer leurs facteurs, vous devriez ignorer les authentifiants dont le paramètre active est défini sur false. Ces authentifiants ne sont pas confirmés par les utilisateurs. Ils ne peuvent donc pas être utilisés pour exiger une authentification multifacteur. L’API MFA répertoriera les inscriptions suivantes selon le type d’authentifiant :
AuthentifiantActions
Push et OTPSi le les notifications poussées sont activées, Auth0 crée également un enregistrement OTP. Vous verrez les deux lors de la liste des inscriptions.
SMS et voixSi le SMS et la voix sont tous deux activés, lorsqu’un utilisateur s’inscrit par SMS ou par la voix, Auth0 crée automatiquement deux authentifiants pour le numéro de téléphone, un pour le SMS et un autre pour la voix.
CourrielTous les courriels seront enregistrés en tant qu’authentifiants.

Inscrire des authentifiants

Consultez les liens suivants pour obtenir des détails sur la façon d’inscrire des authentifiants pour différents facteurs : Vous pouvez également utiliser le Flux de connexion universelle pour abonner des utilisateurs à tout moment.

Supprimer des authentifiants

Pour supprimer un authentifiant associé, envoyez une demande DELETE au point de terminaison des authentifiants MFA remplaçant AUTHENTICATOR_ID avec l’ID d’authentifiant qui convient. Vous pouvez obtenir l’ID lorsque vous répertoriez les facteurs d’authentification. Si un mfa_token a été utilisé pour répertorier les authentifiants, les utilisateurs devront compléter MFA pour obtenir un jeton d’accès avec une audience de https://{yourDomain}/mfa/ afin de supprimer un authentifiant.
curl --request DELETE \
  --url 'https://{yourDomain}/mfa/authenticators/AUTHENTICATOR_ID' \
  --header 'authorization: Bearer ACCESS_TOKEN'
Si l’authentifiant a été supprimé, une réponse 204 est renvoyée. Lorsque vous supprimez un authentifiant, les actions suivantes ont lieu selon le type d’authentifiant : Pour supprimer un code de récupération et en générer un nouveau, obtenez un Jeton d’accès à Management API Autho et utiliser Point de terminaison de régénération du code de récupération.

Régénérer des codes de récupération

Pour supprimer un code de récupération et en générer un nouveau, obtenez un Jeton d’accès à Management API et utiliser le point de terminaison de régénération Management API.
curl --request POST \
  --url 'https://{yourDomain}/api/v2/users/USER_ID/recovery-code-regeneration' \
  --header 'authorization: Bearer MANAGEMENT_API_TOKEN'
Vous obtiendrez un nouveau code de récupération que l’utilisateur final devra enregistrer, par exemple :
{  
   "recovery_code": "FA45S1Z87MYARX9RG6EVMAPE"
}

En savoir plus

I