Saltar al contenido principal
Connected Accounts permite vincular un único perfil de usuario de Auth0 con varias cuentas externas. Cuando habilitas Connected Accounts para un proveedor externo compatible, Auth0 añade automáticamente la cuenta de ese proveedor al perfil del usuario después de que inicie sesión correctamente. Para obtener más información, consulta Connected Accounts for Token Vault.
Auth0 admite la vinculación de cuentas de usuario de varios . Esto permite que un usuario se autentique con cualquiera de sus cuentas y que tu aplicación lo siga reconociendo y lo asocie al mismo perfil de usuario.

La disponibilidad varía según el plan de Auth0

Tanto tu implementación específica de Login como tu plan de Auth0 o acuerdo personalizado determinan si esta funcionalidad está disponible. Para obtener más información, consulta Pricing.
De forma predeterminada, Auth0 trata todas las identidades por separado. Por ejemplo, si un usuario inicia sesión primero en la base de datos de Auth0 y luego a través de Google o Facebook, Auth0 interpretaría estos dos intentos como dos usuarios distintos. Puedes implementar funcionalidad para permitir que un usuario vincule cuentas explícitamente. En este escenario, el usuario iniciaría sesión con un proveedor inicial, quizá Google. Tu aplicación proporcionaría un enlace o botón para permitirle vincular otra cuenta a la primera. El usuario haría clic en este enlace o botón, y tu aplicación realizaría una llamada para que, cuando el usuario inicie sesión con el segundo proveedor, la segunda cuenta quede vinculada a la primera.

Ventajas de vincular cuentas

  • Permite a los usuarios iniciar sesión con cualquier proveedor de identidad sin tener que crear un perfil independiente para cada uno
  • Permite a los usuarios registrados usar un nuevo inicio de sesión social o y seguir usando su perfil existente
  • Permite a los usuarios que se registraron con un inicio de sesión sin contraseña vincular esa identidad a una cuenta con un perfil más completo
  • Permite que tus aplicaciones recuperen datos del perfil de usuario almacenados en varias conexiones

Precauciones

Vincular cuentas de manera insegura puede permitir que actores maliciosos accedan a cuentas de usuario legítimas. Tenga en cuenta lo siguiente: Tanto en la vinculación manual como en la automática de cuentas, su inquilino debe solicitar autenticación para ambas cuentas antes de vincularlas. Además, cada vinculación manual de cuentas debe solicitar al usuario que introduzca sus credenciales.

Cómo funciona

El proceso de vinculación de cuentas fusiona dos perfiles de usuario existentes en uno solo. Al vincular cuentas, se deben especificar una cuenta principal y una cuenta secundaria. En el siguiente ejemplo puede ver cómo quedará el perfil vinculado resultante para las cuentas principal y secundaria de ejemplo. Tenga en cuenta lo siguiente:
  • El user_id y todas las demás propiedades principales del perfil siguen siendo las de la identidad principal
  • La primera identidad de la matriz user.identities es la identidad principal
  • La cuenta secundaria ahora está integrada en la matriz user.identities del perfil principal
  • Los atributos de la cuenta secundaria se colocan dentro del campo profileData de la identidad correspondiente dentro de la matriz
  • Los valores de user_metadata y app_metadata de la cuenta principal no han cambiado
  • Los valores de user_metadata y app_metadata de la cuenta secundaria se descartan
  • No hay una fusión automática de perfiles de usuario con identidades asociadas
  • La cuenta secundaria se elimina de la lista de usuarios
  • Si elimina la cuenta principal, la cuenta secundaria también se elimina

Fusión de metadatos

Los metadatos no se fusionan automáticamente durante la vinculación de cuentas. Si quiere fusionarlos, debe hacerlo manualmente mediante el endpoint /users/patch_users_by_id de la API de Management. También está disponible el SDK de Auth0 para Node.js de APIv2. Para obtener más información, consulte Cómo funcionan los metadatos en los perfiles de usuario

Escenarios

Hay dos formas distintas de implementar la vinculación de cuentas:
  • Vinculación de cuentas iniciada por el usuario: permita que los usuarios vinculen sus cuentas desde una pantalla de administración en su aplicación.
  • Vinculación de cuentas sugerida: identifique las cuentas con el mismo correo electrónico y pida al usuario en su aplicación que las vincule.

Vinculación de cuentas iniciada por el usuario

Normalmente, la vinculación de cuentas la inicia un usuario autenticado. Tu aplicación debe proporcionar la interfaz de usuario, por ejemplo, un botón de Vincular cuentas en la página de perfil del usuario. Para obtener más información sobre cómo implementar la vinculación de cuentas iniciada por el usuario en una Single Page Application, consulta Client-Side Account Linking. Para obtener más información sobre cómo implementar la vinculación de cuentas iniciada por el usuario en una Regular Web Application, consulta Server-Side Account Linking.

Vinculación sugerida de cuentas

Puede encontrar cuentas con el mismo correo electrónico y pedirles a los usuarios que las vinculen. Por ejemplo, un usuario puede crear una cuenta con Google con user@gmail.com y luego iniciar sesión con Facebook con una cuenta asociada al mismo correo electrónico. Si eso ocurre, puede mostrarles a los usuarios la lista de cuentas disponibles para que puedan vincularlas, autenticándose primero con la cuenta con la que se vincularán. También puede usar la Extensión de vinculación de cuentas para lograr el mismo resultado.
Anteriormente, en algunos casos, podía usar ID Tokens para vincular y desvincular cuentas de usuario. Esta funcionalidad está quedando obsoleta. Tendrá que usar Tokens de acceso en todos los casos.

Más información