Saltar al contenido principal
Los correos electrónicos no únicos permiten que varias cuentas de usuario que comparten una conexión de base de datos usen una misma dirección de correo electrónico, mientras que otro atributo (como username o número de teléfono) actúa como identificador principal. Ya seas una madre o un padre que administra varias cuentas de sus hijos con una sola dirección de correo electrónico, o una pequeña empresa con un correo electrónico por ubicación, los correos electrónicos no únicos te permiten mantener una experiencia segura de inicio de sesión y restablecimiento de contraseña específica para cada cuenta.

Consideraciones

Revise lo siguiente para asegurarse de que Correos electrónicos no únicos sea la opción adecuada para su caso de uso.

Requisitos del identificador principal

El correo electrónico no puede utilizarse como identificador principal cuando se usan correos electrónicos no únicos. Debe configurar otro atributo como identificador principal, que se utilizará para la autenticación, el restablecimiento de contraseña y la gestión de la cuenta. Para obtener más información sobre identificadores y atributos, consulte Identificadores flexibles.

Restablecimiento de contraseñas

Los usuarios finales deben proporcionar su username, número de teléfono o el atributo que su administrador haya configurado como atributo principal al restablecer la contraseña. Auth0 usa ese identificador principal para localizar y restablecer la cuenta asociada a una dirección de correo electrónico compartida.

Configuración irreversible

Una vez que el atributo de correo electrónico se configura como no único en una conexión, no se puede volver a cambiar a único. Además, solo se pueden crear conexiones de base de datos nuevas con compatibilidad con correos electrónicos no únicos; no puede modificar una conexión existente y debe actualizar su aplicación para usar el identificador principal que elija.

Identificadores flexibles

Los identificadores flexibles deben estar habilitados en la conexión de base de datos para usar correos electrónicos no únicos, y no se pueden deshabilitar después de crear la conexión. Cuando habilita los correos electrónicos no únicos con la , los identificadores flexibles se configuran automáticamente.

Cambios en el comportamiento de la API

GET /api/v2/users-by-email devuelve todos los usuarios que comparten la misma dirección de correo electrónico. DELETE /api/v2/connections/{id}/users no es compatible con conexiones con correos electrónicos no únicos. POST /dbconnections/change_password no funciona con conexiones con correos electrónicos no únicos porque requiere una dirección de correo electrónico única para encontrar la cuenta del usuario. Los usuarios deben usar flujos que aprovechen el identificador principal para restablecer sus contraseñas.

Habilitar correos electrónicos no únicos en Auth0 Dashboard

  1. Vaya a Authentication > Database y cree una nueva conexión.
  2. Vaya a la sección Choose one or more attributes as user identifiers y cambie Email Address a On, luego habilite la opción Allow non-unique email addresses que aparece.
  3. Elija username o número de teléfono y cámbielo también a On para que actúe como identificador principal en los flujos de inicio de sesión y restablecimiento de contraseña.
  4. Después de confirmar que el correo electrónico no se usará como identificador, seleccione Create para guardar la conexión.

Habilite correos electrónicos no únicos mediante la Management API

Use el endpoint POST /api/v2/connections de la Management API para crear una conexión de base de datos que admita correos electrónicos no únicos. Al crear la conexión:
  • Establezca unique: false en el objeto options.attributes.email para permitir varias cuentas con la misma dirección de correo electrónico. Establezca identifier.active: false para garantizar que el correo electrónico no pueda usarse como identificador principal cuando no sea único.
  • Elija otro atributo como identificador principal y establezca identifier.active: true para el atributo elegido.
Sin un identificador principal distinto del correo electrónico, los flujos de autenticación y restablecimiento de contraseña no funcionarán correctamente. Asegúrese de que al menos un atributo esté configurado como identificador activo.

Ejemplo de solicitud

A continuación, se muestra un ejemplo del cuerpo de una solicitud para crear una conexión de base de datos que usa un username como identificador principal y admite correos electrónicos no únicos:
{
 "name": "new-non-unique",
 "strategy": "authO",
 "options": {
  "attributes": {
   "email": {
     "unique": false,
     "signup" : {
       "status": "required"
     },
     "identifier": {
      "active": false
     },
     "profile_required": true
   },
   "username": {
    "signup": {
     "status": "required"
   },
   "identifier": {
    "active": true
   },
   "profile_required": true
   }
  }
 }
}

Aviso sobre el riesgo del correo electrónico compartido

Si bien la funcionalidad Correos electrónicos no únicos incluye medidas de protección, como impedir el uso del correo electrónico como identificador principal y exigir que los restablecimientos de contraseña se realicen mediante un username o un número de teléfono**,** sigue existiendo un riesgo inherente cuando varias cuentas de usuario comparten la misma dirección de correo electrónico. Por ejemplo:
  • Todas las comunicaciones por correo electrónico (por ejemplo, enlaces para restablecer la contraseña y notificaciones) se entregarán en la misma bandeja de entrada, independientemente de qué usuario haya iniciado la acción.
  • Esto podría generar confusión entre los usuarios o acceso no intencionado a enlaces enviados por correo electrónico si se comparte la bandeja de entrada.
Al habilitar esta funcionalidad, usted reconoce y acepta la responsabilidad de garantizar que:
  • Los escenarios de correo electrónico compartido sean adecuados para su caso de uso.
  • Los usuarios finales estén debidamente informados y capacitados.
  • El diseño de su aplicación contemple posibles solapamientos en los flujos de trabajo basados en correo electrónico.
Esta solución de compromiso ofrece flexibilidad, pero requiere una implementación cuidadosa y una comunicación clara con sus usuarios.