Entienda cómo vincular cuentas de usuario de varios proveedores de identidad para que sus usuarios puedan autenticarse con cualquiera de ellas y su aplicación los reconozca.
La disponibilidad varía según el plan de Auth0
Tanto la implementación específica de Login como el plan de Auth0 o el acuerdo personalizado determinan si esta característica está disponible. Para obtener más información, consulta Precios.
Puedes vincular cuentas de usuario mediante varios métodos:
Puede usar una Action junto con una aplicación externa de vinculación para vincular cuentas de usuario con la Management API.
Auth0 no cambia automáticamente alusuarioprincipal correcto después de vinculación de cuentas, por lo que este cambio debe realizarse en el código de Actions cuando vinculación de cuentas se complete correctamente.Cada vinculación manual de cuentas debe pedir al usuario que introduzca sus credenciales. Su inquilino debe solicitar autenticación para ambas cuentas antes de que se produzca la vinculación, para evitar que actores maliciosos accedan a cuentas de usuario legítimas.
Los siguientes pasos ilustran una implementación de ejemplo:
La Action identifica las posibles cuentas de usuario para vincular (si existen).
La Action redirige al usuario a una aplicación externa de vinculación con una carga útil de token que contiene las identidades de usuario candidatas:
La aplicación externa de vinculación solicita al usuario que se autentique con las credenciales de la cuenta que desea vincular.
La aplicación externa de vinculación redirige al usuario de vuelta a la Action con una carga útil de token que contiene las identidades del usuario principal y del usuario secundario:
Vinculación de cuentas del lado del cliente iniciada por el usuario
Para la vinculación de cuentas del lado del cliente iniciada por el usuario, necesitas un token de acceso que contenga los siguientes elementos en la carga útil:
update:current_user_identites scope
user_id de la cuenta principal como parte de la URL
de la cuenta secundaria, firmado con RS256 e incluido con un claim aud que identifique al cliente y coincida con el valor del claim azp del token de acceso usado en la solicitud.
Un token de acceso que contiene el scope update:current_user_identities solo puede usarse para actualizar la información del usuario que ha iniciado sesión. Por lo tanto, este método es adecuado para escenarios en los que el usuario inicia el proceso de vinculación.
Para la vinculación de cuentas del lado del servidor, necesita un token de acceso que contenga los siguientes elementos en la carga útil:
scope update:users
user_id de la cuenta principal como parte de la URL
user_id de la cuenta secundaria
token de ID de la cuenta secundaria, firmado con RS256, que incluya un claim aud que identifique al cliente y coincida con el valor del claim azp del token de acceso solicitante.
Los tokens de acceso que contienen el scope update:users pueden usarse para actualizar la información de cualquier usuario. Por lo tanto, este método está pensado para usarse únicamente en código del lado del servidor.El user_id y el provider de la cuenta de usuario secundaria pueden deducirse a partir de su identificador único. Por ejemplo, para el identificador google-oauth2|108091299999329986433:
provider es google-oauth2
user_id es 108091299999329986433
Como alternativa, puede enviar el token de ID de la cuenta secundaria en lugar de provider y user_id: