L’authentification Passwordless pour les connexions de base de données n’est pas prise en charge avec Classic Login.
Fonctionnement
- Un utilisateur final saisit un identifiant pour se connecter avec le Universal Login d’Auth0.
- Auth0 recherche les méthodes d’authentification associées à chaque identifiant configuré dans votre connexion de base de données.
- L’option la plus appropriée est présentée à l’utilisateur en fonction de
default_methodet des méthodes d’authentification disponibles (par exemple, recevoir un OTP par courriel ou par téléphone, ou entrer un mot de passe). - Si l’OTP est la méthode d’authentification retenue, Auth0 envoie un code à l’adresse courriel ou au numéro de téléphone de l’utilisateur.
- L’utilisateur saisit le code et est authentifié. Si vous avez configuré des passkeys, l’utilisateur est invité à suivre le processus d’inscription progressive aux passkeys.
Avant de commencer
- Configurez votre locataire pour utiliser le profil d’authentification Identifier-First.
- Si vous prévoyez utiliser l’OTP par téléphone (SMS ou voix), vous devez activer le paramètre Unified Phone Experience sous Branding > Phone Provider.
- Les attributs doivent être activés dans la connexion de base de données.
- Si vous prévoyez utiliser des connexions Passwordless existantes (héritées) conjointement avec l’authentification sans mot de passe sur des connexions de base de données, et que vous ne souhaitez pas configurer vos connexions Passwordless existantes pour utiliser Unified Phone Provider :
- Accédez à Auth0 Dashboard > Authentication > Passwordless.
- Sélectionnez Configure pour SMS.
- Assurez-vous que le paramètre Use Tenant-Level Messaging Provider est désactivé.
Configurer les attributs (identifiants)
Pour les identifiants de courriel et de téléphone, si le mot de passe n’est pas activé, vous devez activer la vérification OTP pour l’inscription. Vous pouvez configurer les attributs de courriel et de téléphone comme facultatifs à l’inscription, afin que les utilisateurs puissent s’inscrire uniquement avec un courriel ou uniquement avec un numéro de téléphone.
Lorsqu’un utilisateur s’authentifie au moyen d’un OTP par courriel,
email_verified est automatiquement défini à true dans son profil. Lorsqu’un utilisateur s’authentifie au moyen d’un OTP par téléphone, phone_verified est automatiquement défini à true.
Pour en savoir plus, consultez Activer et configurer les attributs pour les identifiants flexibles.
Créer une nouvelle connexion de base de données
- Auth0 Dashboard
- Management API
- Accédez à Auth0 Dashboard > Authentication > Database. Sélectionnez Create DB Connection pour créer la connexion.
- Entrez un nom unique pour votre connexion.
- Choisissez un ou plusieurs attributs que les utilisateurs finaux pourront utiliser pour se connecter ou s’inscrire.
- Sélectionnez votre ou vos méthodes d’authentification. Vous pourrez les configurer plus en détail une fois la connexion créée.
- Activez Disable Sign Ups si vous ne voulez pas que les utilisateurs puissent s’inscrire à l’aide de points de terminaison publics.
- Activez Promote Connection to Domain Level si vous voulez utiliser cette connexion avec des applications tierces.
- Sélectionnez Create.
- Dans votre nouvelle connexion, sélectionnez l’onglet Attributes.
- Pour désactiver Username comme identifiant, sélectionnez Configure, puis désactivez Use Username as Identifier.
- Pour configurer les identifiants de courriel et de téléphone, sélectionnez Configure.
- Pour les attributs de courriel, sélectionnez One-Time Password (OTP) sous Verification Methods et activez Verify email on sign up pour une configuration véritablement sans mot de passe. Cela garantit que
email_verifiedest défini automatiquement afin que les utilisateurs soient toujours invités à fournir un OTP à la connexion et à l’inscription.
- Sélectionnez Save.
-
Configurez les paramètres des méthodes d’authentification correspondant aux identifiants choisis. Vous ne pouvez pas désactiver le mot de passe à moins que
phone_otpet/ouemail_otpsoient configurés. -
Sous les paramètres de mot de passe, sélectionnez Policy et choisissez Block pour :
- Mot de passe à la connexion
- Mot de passe à l’inscription
- Modification du mot de passe en libre-service (mise à jour automatique)
- Activez Support users without a password.
- Sélectionnez Save. Dans l’invite, sélectionnez Continue pour confirmer que vous comprenez que les utilisateurs existants pourraient être touchés.
- Accédez à l’onglet Applications et activez la connexion pour votre application ou votre API.
Mettre à jour les connexions existantes
- Auth0 Dashboard
- Management API
- Ouvrir la connexion : Accédez à Auth0 Dashboard > Authentication > Database et sélectionnez la connexion que vous souhaitez mettre à jour.
- Activer les attributs : Sous l’onglet Attributes, sélectionnez Activate pour activer la nouvelle configuration des attributs.
-
Ajouter les attributs Email et Phone : Choisissez + Add Attributes et ajoutez Email et Phone Number s’ils ne sont pas déjà présents.
Pour une connexion Passwordless (OTP) véritablement sans mot de passe, l’identifiant
usernamen’est pas pris en charge. -
Activer les méthodes d’authentification OTP : Sous l’onglet Authentication Methods :
- Configurez Phone pour Allow Phone OTP et enregistrez vos modifications.
- Configurez Email pour Allow Email OTP et enregistrez vos modifications.
-
Bloquer l’authentification par mot de passe : Dans les paramètres Password, choisissez Policy et sélectionnez Block pour :
- Password on Login
- Password on Signup
- Self-service change password
- Enregistrer : Sélectionnez Save.
Utiliser les Actions Auth0
Déclencheur post-connexion
post-login s’exécute après l’authentification d’un utilisateur, mais avant que le serveur d’autorisation ne renvoie un jeton. L’objet event.authentication dans Auth0 Dashboard > Actions > Triggers > Post Login expose les méthodes suivantes :
email_verified et phone_verified sont définis automatiquement dans le profil de l’utilisateur lorsqu’un utilisateur s’authentifie au moyen d’un OTP par courriel ou d’un OTP par téléphone. Si vous utilisiez auparavant une Action post-connexion pour définir manuellement ces indicateurs, vous pouvez supprimer cette solution de contournement.event.authentication pour :
- Déterminer quel facteur Passwordless l’utilisateur a utilisé (
email,sms,teloupwd) - Ajouter des claims personnalisées aux jetons selon la méthode d’authentification
- Exécuter une logique conditionnelle selon la façon dont l’utilisateur s’est authentifié
Exemple
event.authentication.methods afin de détecter quel facteur Passwordless l’utilisateur a validé, puis l’ajoute sous forme de revendication personnalisée au jeton d’identité.
Déclencheur post-challenge
post-challenge s’exécute une fois que les utilisateurs ont terminé une vérification, comme la réinitialisation du mot de passe, la validation du téléphone ou la MFA. L’objet event.authentication dans Auth0 Dashboard > Actions > Triggers > password-reset-post-challenge expose les attributs suivants :
Exemple
event.authentication.methods pour détecter quel facteur Passwordless a permis de réussir la vérification et l’ajoute au jeton d’identité sous forme de revendication personnalisée.
Avantages
- Implémentation simplifiée : Moins de connexions à configurer et à maintenir. Aucune liaison de comptes n’est nécessaire, sauf si vous utilisez des connexions sociales/fédérées avec des connexions de base de données.
- Expérience utilisateur améliorée : Proposez des combinaisons d’OTP par courriel et par téléphone avec des mots de passe, des clés d’accès et des connexions sociales/fédérées, le tout dans la même expérience « identifiant d’abord » de Universal Login.
- Flux d’inscription flexibles : Configurez les attributs de courriel et de téléphone comme facultatifs lors de l’inscription, afin de permettre aux utilisateurs de s’inscrire avec seulement un courriel ou seulement un numéro de téléphone — idéal pour des expériences d’abord mobiles ou uniquement par courriel.
- OTP vocal : L’OTP vocal est inclus comme premier facteur lorsqu’il est configuré dans l’Unified Phone Experience.
Limites
- Disponible uniquement pour les flux basés sur Universal Login; n’est pas encore pris en charge pour l’authentification basée sur l’API.
- Passwordless n’est pas pris en charge pour les connexions de base de données avec Classic Login.
- Passwordless pour les connexions de base de données ne prend pas en charge Implicit Signup & Login.
- Dans les connexions Passwordless héritées, il n’y avait aucune différence dans l’expérience utilisateur entre l’inscription et la connexion. Les connexions de base de données font une distinction entre l’expérience d’inscription et l’expérience de connexion, ce qui exige une inscription et une connexion explicites.
- Si un utilisateur sans identité Auth0 accède au flux de connexion, le système ne l’inscrira pas automatiquement. L’utilisateur reçoit une erreur après avoir validé l’OTP.
- Si un utilisateur ayant une identité Auth0 accède au flux d’inscription, l’utilisateur reçoit une erreur après avoir validé l’OTP.