Auth0 ne prend pas en charge l’authentification SMS de base.
- Configurez une connexion SMS Passwordless. Pour savoir comment faire, consultez la section Implement Passwordless dans Connexions Passwordless.
- Obtenez un jeton d’accès pour la Management API. Vous en aurez besoin pour effectuer des appels à la Management API afin de mettre à jour votre connexion Passwordless.
- Utilisez le point de terminaison GET Connections pour récupérer des renseignements sur les connexions associées à votre tenant. Plus précisément, vous devez obtenir l’ID de votre connexion SMS Passwordless afin de pouvoir l’utiliser plus tard dans un appel d’API servant à mettre à jour la connexion elle-même.
Assurez-vous de remplacer
ACCESS_TOKENpar le jeton que vous avez obtenu à l’étape 1 avant d’effectuer la requête suivante vers la Management API :
"name": "sms". Notez que la connexion affiche actuellement les renseignements Twilio que vous avez fournis lors de la configuration.
-
Mettez à jour la connexion. Vous pouvez le faire en envoyant une requête PATCH au point de terminaison Update a Connexion. Plus précisément, vous mettrez à jour l’objet
optionsde la connexion pour fournir des renseignements sur la passerelle SMS. Apportez les modifications suivantes :- Supprimez les paramètres
twilio_sidettwilio_token - Ajoutez le paramètre
provideret définissez sa valeur sursms_gateway - Ajoutez le paramètre
gateway_urlet définissez sa valeur sur l’URL de votre passerelle SMS. Auth0 doit pouvoir accéder à cette URL pour utiliser votre passerelle et envoyer des messages en votre nom.
- Supprimez les paramètres
Requêtes authentifiées
options :
gateway_authentication dans votre objet options, Auth0 ajoute un JSON Web Token dans l’en-tête Authorization chaque fois qu’il envoie des requêtes à votre passerelle SMS. Le jeton contient les valeurs gateway_authentication.subject et gateway_authentication.audience, et il est signé avec gateway_authentication.secret.
Si votre secret est encodé en base64url, définissez secret_base64_encoded sur true.
Après avoir mis à jour votre connexion, Auth0 enverra les éléments suivants à votre passerelle SMS chaque fois qu’un utilisateur s’inscrit ou se connecte avec votre connexion .
forward_req_info de l’objet options à true, la passerelle recevra aussi des informations issues de la requête HTTP qui a déclenché le processus Passwordless. Cela comprend l’adresse IP du client qui appelle /passwordless/start et son user agent.
Gestion des erreurs
/passwordless/start renverra un code HTTP 400 et une réponse semblable à celle-ci :
error_description sera Échec de l’authentification lors de l’appel à la passerelle SMS : 401. (Veuillez noter que le libellé de la description d’erreur peut changer à tout moment.)
Auth0 impose un délai d’expiration de 30 secondes pour les appels HTTP aux passerelles SMS personnalisées. Si la passerelle SMS ne répond pas dans ce délai, le point de terminaison /passwordless/start renverra également un code HTTP 400. La réponse aura le format indiqué ci-dessus et le champ error_description sera Délai d’expiration lors de l’appel à la passerelle SMS : <Code de délai d’expiration>. (Encore une fois, le libellé de la description d’erreur peut changer à tout moment.)