Passer au contenu principal
Pour utiliser les API sans mot de passe intégrées dans les applications Web classiques, assurez-vous d’activer l’option OTP sans mot de passe octroyer à Auth0 Dashboard (Tableau de bord Auth0) > Applications > Applications dans les paramètres de votre application sous Advanced Settings (Paramètres avancés) > Types d’autorisation. L’authentification sans mot de passe pour les applications Web classiques se compose de deux étapes :
  1. Capturez l’identifiant de l’utilisateur dans votre application (le courriel ou le numéro de téléphone de l’utilisateur) et faites un appel au point de terminaison /passwordless/start pour initier le flux sans mot de passe. L’utilisateur recevra un courriel, un SMS avec un code à usage unique ou un lien magique.
  2. Si vous n’avez pas envoyé de lien magique, demandez à l’utilisateur le code à usage unique et faites un appel au point de terminaison /oauth/token pour obtenir des jetons d’authentification.
Veuillez noter que lorsque vous utilisez des liens magiques, vous n’avez pas besoin de faire un appel /oauth/token. L’utilisateur cliquera sur le lien magique et sera redirigé vers l’URL de rappel de l’application. Voici quelques extraits de code qui peuvent être utilisés pour appeler ces points de terminaison API dans différents scénarios. Les trousses SDK Auth0 pour les technologies dorsales (par exemple, Java, .NET, Ruby, PHP, Python, Node JS) n’ont pas encore été mis à jour pour prendre en charge ces points de terminaison, vous devrez donc les appeler directement. Envoyer un code à usage unique par courriel
curl --request POST \
  --url 'https://{yourDomain}/passwordless/start' \
  --header 'content-type: application/json' \
  --data '{"client_id": "{yourClientId}", "client_secret": "{yourClientSecret}", "connection": "email", "email": "{userEmail}","send": "code"}'
Envoyer un lien magique par courriel Vous devez préciser send: link.
curl --request POST \
  --url 'https://{yourDomain}/passwordless/start' \
  --header 'content-type: application/json' \
  --data '{"client_id": "{yourClientId}", "client_secret": "{yourClientSecret}", "connection": "email", "email": "{userEmail}","send": "link"}'
Envoyer un mot de passe à usage unique par SMS
curl --request POST \
  --url 'https://{yourDomain}/passwordless/start' \
  --header 'content-type: application/json' \
  --data '{"client_id": "{yourClientId}", "client_secret": "{yourClientSecret}", "connection": "sms", "phone_number": "{userPhoneNumber}","send": "code"}'
Authentifier un utilisateur SMS
curl --request POST \
  --url 'https://{yourDomain}/oauth/token' \
  --header 'content-type: application/json' \
  --data '{"grant_type": "http://auth0.com/oauth/grant-type/passwordless/otp", "client_id": "{yourClientId}", "client_secret": "YOUR_CLIENT_SECRET", "username": "USER_PHONE_NUMBER", "otp": "code", "realm": "sms", "audience": "your-api-audience","scope": "openid profile email"}'
Authentifier un utilisateur de messagerie
curl --request POST \
  --url 'https://{yourDomain}/oauth/token' \
  --header 'content-type: application/json' \
  --data '{"grant_type": "http://auth0.com/oauth/grant-type/passwordless/otp", "client_id": "{yourClientId}", "client_secret": "{yourClientSecret}", "username": "{userPhoneNumber}", "otp": "code", "realm": "email", "audience": "your-api-audience", "scope": "openid profile email"}'
Authentifier un utilisateur via un lien magique Lorsque vous envoyez un lien magique, vous n’avez pas besoin de faire appel à une API pour authentifier l’utilisateur. L’utilisateur cliquera sur le lien magique et sera redirigé vers l’URL de rappel.

Réglage de l’en-tête auth0-forwarded-for à des fins de limitation de débit

Le point de terminaison /passwordless/start de 50 requêtes par heure par adresse IP. Si vous faites un appel API côté serveur, l’adresse IP de votre système dorsal peut facilement atteindre ces limites anti-attaques. Pour savoir comment résoudre ce problème, veuillez consulter la section Limite anti-attaques dans les points de terminaison sans mot de passe de Utilisation des API sans mot de passe.
I