Autenticación sin contraseña en conexiones de base de datos
Aprenda a configurar una autenticación realmente sin contraseña en una conexión de base de datos nueva o existente.
Auth0 le permite configurar la autenticación sin contraseña mediante correo electrónico y teléfono directamente en una conexión de base de datos. En lugar de crear una conexión independiente para la autenticación con OTP, puede ofrecer el inicio de sesión sin contraseña directamente desde su conexión de base de datos. Esto reduce la complejidad de la implementación y simplifica la experiencia de inicio de sesión para los usuarios finales.
La autenticación sin contraseña en conexiones de base de datos no es compatible con Classic Login.
Auth0 busca los métodos de autenticación de cada identificador configurado en tu conexión de base de datos.
Al usuario se le muestra la opción más adecuada según default_method y los métodos de autenticación disponibles (por ejemplo, recibir un OTP por correo electrónico o teléfono, o introducir una contraseña).
Si OTP es el método de autenticación seleccionado, Auth0 envía un code al correo electrónico o al teléfono del usuario.
El usuario introduce el code y se autentica. Si has configurado claves de acceso, se le pedirá que complete la inscripción progresiva en claves de acceso.
Los atributos deben estar habilitados en la conexión de base de datos.
Si tienes previsto usar conexiones sin contraseña existentes (heredadas) junto con autenticación sin contraseña en conexiones de base de datos, y no quieres configurar tus conexiones sin contraseña existentes para usar Unified Phone Provider:
Al configurar la autenticación sin contraseña con correo electrónico y teléfono en conexiones de base de datos, primero debe determinar qué atributo o atributos quiere que los usuarios finales proporcionen durante el registro y el inicio de sesión.Revise el tipo de identificador y el método de autenticación correspondiente:
Identificador
Método(s) de autenticación
Correo electrónico
Contraseña, OTP por correo electrónico, Passkey
Teléfono
Contraseña, OTP por teléfono, Passkey
Username
Contraseña
Para los identificadores de correo electrónico y teléfono, si la contraseña no está habilitada, debe tener habilitada la verificación OTP para el registro. Puede configurar los atributos de correo electrónico y teléfono como opcionales durante el registro, para que los usuarios puedan registrarse solo con un correo electrónico o solo con un número de teléfono.Cuando un usuario se autentica con OTP por correo electrónico, email_verified se establece automáticamente en true en su perfil. Cuando un usuario se autentica con OTP por teléfono, phone_verified se establece automáticamente en true.
Si quiere que los usuarios finales se autentiquen con passkeys, debe tener configurado un método de autenticación alternativo, como correo electrónico o teléfono. No se admite la autenticación solo con passkeys.
Elija uno o más atributos para que los usuarios finales inicien sesión o se registren.
Seleccione los métodos de autenticación. Puede configurar estos métodos con más detalle una vez creada la conexión.
Active Disable Sign Ups si no quiere que los usuarios se registren mediante endpoints públicos.
Active Promote Connection to Domain Level si quiere usar esta conexión con aplicaciones de terceros.
Seleccione Create.
Para una conexión realmente sin contraseña, complete estos pasos adicionales:
En la nueva conexión, seleccione la pestaña Attributes.
Para desactivar Username como identificador, seleccione Configure y desactive Use Username as Identifier.
Para configurar los identificadores de correo electrónico y teléfono, seleccione Configure.
Para los atributos de correo electrónico, seleccione One-Time Password (OTP) en Verification Methods y habilite Verify email on sign up para una configuración realmente sin contraseña. Esto garantiza que email_verified se establezca automáticamente para que a los usuarios siempre se les solicite un OTP al iniciar sesión y al registrarse.
Seleccione Save.
Configure los ajustes de los métodos de autenticación correspondientes a los identificadores elegidos. No puede desactivar la contraseña a menos que tenga configurado phone_otp y/o email_otp.
En la configuración de Password, seleccione Policy y elija Block para:
Llame al endpoint Update a Connection. Agregue la opción default_method para establecer el primer método de autenticación. Para los atributos de Email, configure password o email_otp. Para los atributos de Phone, configure password o phone_otp.
Para obtener más información sobre los factores de autenticación sin contraseña en las conexiones de base de datos, configura atributos con Auth0 Actions.
El trigger post-login se activa después de que un usuario se autentica, pero antes de que el servidor de autorización devuelva un token. El objeto event.authentication en Auth0 Dashboard > Actions > Triggers > Post Login expone los siguientes métodos:
Método
Parámetro
Descripción
OTP por correo electrónico
email
OTP por correo electrónico que se utiliza para autenticar al usuario como primer factor.
OTP por SMS
sms
OTP por teléfono (SMS) que se utiliza para autenticar al usuario como primer factor.
OTP por voz
tel
OTP por teléfono mediante voz que se utiliza para autenticar al usuario como primer factor.
Contraseña
pwd
Contraseña que se utiliza para autenticar al usuario como primer factor.
email_verified y phone_verified se establecen automáticamente en el perfil del usuario cuando un usuario se autentica mediante OTP por correo electrónico u OTP por teléfono. Si antes usabas una Action de post-login para establecer manualmente estos indicadores, puedes eliminar esa solución temporal.
Usa event.authentication para:
Detectar qué factor sin contraseña completó el usuario (email, sms, tel o pwd)
Agregar claims personalizados a los tokens según el método de autenticación
Ejecutar lógica de forma condicional según cómo se autenticó el usuario
En el siguiente ejemplo, se lee event.authentication.methods para detectar qué factor sin contraseña completó el usuario y se añade como una claim personalizada al token de ID.
El trigger post-challenge se ejecuta después de que los usuarios completan un desafío, como un restablecimiento de contraseña, la validación del número de teléfono o MFA. El objeto event.authentication en Auth0 Dashboard > Actions > Triggers > password-reset-post-challenge expone los siguientes atributos:
Atributo
Parámetro
Descripción
Correo electrónico
email
Restablecimiento de contraseña con OTP por correo electrónico o enlace mágico.
Teléfono
phone_number
Restablecimiento de contraseña con OTP enviado al teléfono.
El siguiente ejemplo lee event.authentication.methods para detectar qué factor de autenticación sin contraseña completó el desafío y lo añade como un claim personalizado en el token de ID.
Implementación simplificada: Menos conexiones que configurar y mantener. No es necesario vincular cuentas, a menos que se usen conexiones sociales/federadas junto con conexiones de base de datos.
Mejora de la experiencia del usuario: Ofrece combinaciones de OTP por correo electrónico y teléfono con contraseñas, passkeys e inicio de sesión social/federado, todo desde la misma experiencia de identificador primero en Universal Login.
Flujos de registro flexibles: Configure los atributos de correo electrónico y teléfono como opcionales durante el registro, lo que permite a los usuarios registrarse solo con un correo electrónico o solo con un número de teléfono; ideal para experiencias centradas en dispositivos móviles o solo con correo electrónico.
OTP por voz: El OTP por voz se incluye como primer factor cuando se configura en la experiencia telefónica unificada.
Disponible solo para flujos basados en Universal Login; todavía no es compatible con la autenticación basada en API.
La autenticación sin contraseña para conexiones de base de datos no se admite con Classic Login.
La autenticación sin contraseña para conexiones de base de datos no admite Implicit Signup & Login.
En las conexiones heredadas sin contraseña, no había diferencias en la experiencia de usuario entre el registro y el inicio de sesión. Las conexiones de base de datos distinguen entre la experiencia de registro y la de inicio de sesión, lo que requiere un registro y un inicio de sesión explícitos.
Si un usuario sin una identidad de Auth0 entra en el flujo de inicio de sesión, el sistema no lo registrará automáticamente. El usuario recibe un error después de validar el OTP.
Si un usuario con una identidad de Auth0 entra en el flujo de registro, recibe un error después de validar el OTP.