Auth0 ne prend pas en charge l’authentification de base par message texte.
- Configurez une connexion SMS sans mot de passe. Pour savoir comment procéder, lisez la section Mettre en œuvre une connexion sans mot de passe dans Connexions sans mot de passe.
- Obtenez un jeton d’accès pour Management API. Vous en aurez besoin pour effectuer des appels au Management API afin de mettre à jour votre connexion sans mot de passe.
- Utilisez le point de terminaison OBTENIR connexions pour récupérer des informations sur les connexions associées à votre locataire. Plus précisément, vous devez obtenir l’identifiant de votre connexion SMS sans mot de passe afin de pouvoir l’utiliser dans un appel API ultérieur qui met à jour la connexion elle-même.
Veillez à remplacer
ACCESS_TOKEN
par le jeton obtenu à l’étape 1 avant d’effectuer l’appel suivant au Management API :
"name": "sms"
. Notez que la connexion affiche actuellement les informations Twilio que vous avez fournies au cours du processus d’installation.
-
Mettez à jour la connexion. Vous pouvez le faire en effectuant un appel PATCH pour mettre à jour un point de terminaison de connexion. Plus précisément, vous mettrez à jour l’objet connexions
options
pour fournir des informations sur la passerelle SMS.Apportez les modifications suivantes :Vous devez envoyer l’objet d’options
complet avec chaque appel, sinon vous écraserez les données existantes qui ne seront pas incluses dans les appels suivants.- Supprimez les paramètres
twilio_sid
ettwilio_token
. - Ajoutez le paramètre
provider
et attribuez-lui la valeursms_gateway
) - Ajoutez le paramètre
gateway_url
, et définissez-le à l’URL de votre passerelle SMS. Auth0 doit être capable d’atteindre cette URL pour pouvoir utiliser votre passerelle et envoyer des messages en votre nom.
- Supprimez les paramètres
Demandes authentifiées
Si votre passerelle SMS accepte les demandes authentifiées basées sur des jetons, vous pouvez ajouter ce qui suit à votre objetoptions
:
gateway_authentication
dans votre objet options
, Auth0 ajoute un Jeton Web JSON à l’en-tête Authorization
chaque fois qu’il envoie des demandes à votre passerelle SMS. Le jeton contient les valeurs gateway_authentication.subject
et gateway_authentication.audience
, et est signé avec gateway_authentication.secret
.
Si votre secret est encodé en base64-url, définissez secret_base64_encoded
sur true
.
Une fois que vous avez mis à jour votre connexion, Auth0 enverra ce qui suit à votre passerelle SMS chaque fois qu’un utilisateur s’inscrit ou se connecte avec votre connexion sans mot de passe.
forward_req_info
de l’objet options
sur true
, la passerelle recevra également des informations de la requête HTTP qui a initié le processus sans mot de passe. Ces informations comprennent l’adresse IP du client appelant /passwordless/start
et son agent utilisateur.
Gestion des erreurs
Auth0 ne prend en compte que le code HTTP renvoyé par la passerelle SMS; le reste de la réponse est ignoré (p. ex., le corps et le type de la réponse). Si la passerelle SMS renvoie un code HTTP autre que 200, le point de terminaison/passwordless/start
renvoie un code HTTP 400 et une réponse qui ressemble à ce qui suit :
error_description
sera Échec de l’authentification lors de l’appel à la passerelle SMS : 401. (Veuillez noter que le texte de la description de l’erreur est susceptible d’être modifié à tout moment).
Auth0 impose un délai 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
renvoie également un code HTTP 400. La réponse aura le format indiqué ci-dessus et le champ error_description
sera Expiration de délai en appelant la passerelle SMS < Code de l’expiration de délai >. (Encore une fois, le texte de la description de l’erreur est susceptible d’être modifié à tout moment).