- Asocia la cuenta con el usuario como cuenta conectada.
- Almacena en Token Vault los tokens de acceso y de actualización del proveedor externo para la cuenta conectada.
Autenticación de usuarios vs. Connected Accounts
/me/v1/connected-accounts) para recuperar y almacenar tokens de acceso y tokens de actualización en Token Vault, en lugar de usar el flujo de inicio de sesión social o de empresa (endpoint /authorize). Después de completar correctamente el flujo de Connected Accounts, Auth0 agrega la cuenta del usuario al array connected_accounts del perfil de usuario. En cambio, en el flujo de inicio de sesión social o de empresa, Auth0 agrega la cuenta del usuario al array identities del perfil de usuario.
La siguiente tabla explica las diferencias entre los flujos de autenticación de usuarios y Connected Accounts:
| Autenticación de usuarios | Connected Accounts | |
|---|---|---|
| Flujo | Flujo de inicio de sesión con el endpoint /authorize | Flujo de Connected Accounts con el endpoint /me/v1/connected-accounts de API My Account |
| Propósito | Autentica a los usuarios con un Proveedor de identidad social o de empresa | Almacena en Token Vault los tokens de acceso y de actualización de la cuenta conectada cuando un usuario inicia sesión a través de un proveedor externo compatible, se conecta y autoriza la conexión |
| Autenticación | Connected Accounts | Comportamiento | Alcances |
|---|---|---|---|
| Habilitado | Deshabilitado | La conexión usa el flujo de inicio de sesión /authorize para autenticar a los usuarios como un Proveedor de identidad válido. | Use Auth0 Dashboard o Management API para pasar los alcances deseados a la conexión. En tiempo de ejecución, esta lista se completa automáticamente con cualquier alcance adicional incluido en el parámetro connection_scope de la solicitud de autorización. |
| Deshabilitado | Habilitado | La conexión usa el flujo de Connected Accounts para recuperar y almacenar los tokens de la conexión en Token Vault. La conexión no usa el flujo de inicio de sesión /authorize para autenticar a los usuarios y queda excluida de la lista de proveedores de identidad válidos. | Use Auth0 Dashboard o Management API para pasar los alcances deseados a la conexión. En tiempo de ejecución, cualquier alcance incluido en el parámetro scopes de la solicitud de autorización prevalece sobre los alcances seleccionados en Auth0 Dashboard, excepto offline_access, si la conexión lo requiere y está habilitado en Auth0 Dashboard.Nota: Si la conexión lo requiere, Auth0 le pedirá que habilite offline_access, lo que permite que la aplicación cliente obtenga un token de actualización de Auth0. Debe habilitar offline_access para la conexión en Auth0 Dashboard. |
| Habilitado | Habilitado | La conexión usa el flujo de inicio de sesión /authorize para autenticar a los usuarios como un Proveedor de identidad válido. También usa el flujo de Connected Accounts para recuperar y almacenar tokens de acceso de la conexión en Token Vault. | Use Auth0 Dashboard y Management API para pasar los alcances deseados a la conexión. En tiempo de ejecución, cualquier alcance incluido en el parámetro scopes prevalece sobre los alcances seleccionados en Auth0 Dashboard, excepto offline_access, si la conexión lo requiere y está habilitado en Auth0 Dashboard.Nota: Si la conexión lo requiere, Auth0 le pedirá que habilite offline_access, lo que permite que la aplicación cliente obtenga un token de actualización de Auth0. Debe habilitar offline_access para la conexión en Auth0 Dashboard. |
Cómo funciona
Si su aplicación usa Organizaciones, autentique al usuario con la organización de destino antes de iniciar el flujo de Connected Accounts. Token Vault almacena la cuenta conectada en el perfil de Auth0 del usuario, por lo que cada miembro de la organización conecta y autoriza su propia cuenta externa.

- La aplicación cliente realiza una solicitud
POSTal endpoint/me/v1/connected-accounts/connectde la API My Account, pasando alcances y otros parámetros que se enviarán al proveedor externo. Para obtener más información, lea Iniciar una solicitud de Connected Accounts. - La API My Account crea un
auth_sessiony unconnect_uriúnicos que contienen unticketpara redirigir al usuario a un navegador web. La aplicación cliente guarda elauth_sessionpara verificarlo más adelante. Si DPoP está configurado, la API My Account valida el JWT de prueba de DPoP. - La aplicación cliente redirige al usuario al
connect_uricon elticketcomo parámetro de consulta para la autenticación y autorización del usuario en el navegador. La aplicación cliente también puede pasar uncode_challengeocode_challenge_methoda la URL, como en el Flujo de código de autorización con PKCE. - El usuario conecta la cuenta y autoriza los permisos de la conexión en la pantalla de consentimiento.
- Después de que el usuario autoriza correctamente la conexión, el proveedor externo redirige al usuario a la API My Account, que a su vez lo redirige a la aplicación cliente mediante el
redirect_uricon unconnect_codede un solo uso. - La aplicación cliente presenta el
connect_code, elcode_verifier(si corresponde) y elauth_sessionoriginal a la API My Account realizando una solicitudPOSTal endpoint/me/v1/connected-accounts/complete. Para obtener más información, lea Completar una solicitud de Connected Accounts. - La API My Account valida la solicitud confirmando lo siguiente:
- Que el
auth_sessioncoincide con el ID emitido originalmente para el usuario - Que la solicitud proviene del mismo dispositivo que inició el flujo de Connected Accounts
- El JWT de prueba de DPoP (si está configurado)
- El
connect_codede un solo uso - El
code_verifier(si se usa el flujo PKCE)
- Que el
- Después de validar correctamente la solicitud, el Servidor de autorización de Auth0 agrega la cuenta al array
connected_accountsdel perfil del usuario y almacena los tokens de acceso y de actualización de la cuenta conectada en Token Vault. - La API My Account completa el flujo enviando un código de estado
200a la aplicación cliente, lo que indica que la cuenta se conectó correctamente.
Requisitos previos
- Configurar el Token Vault para que su aplicación cliente almacene de forma segura los tokens de acceso y de actualización asociados a cada cuenta conectada en el Token Vault.
- Configurar la API My Account, que los usuarios autenticados usan para conectar y administrar cuentas.
- Configurar Multi-Resource Refresh Token (MRRT) para obtener un token de acceso para la API My Account.
- (Opcional) Configurar DPoP para la API My Account y su aplicación cliente a fin de aplicar restricción por remitente a los tokens de acceso y evitar su robo. De forma predeterminada, la API My Account puede aceptar tokens de acceso vinculados a DPoP.
Configurar la API My Account
- Vaya a Applications > APIs y active la API My Account.
- Una vez activada, seleccione Auth0 My Account API y, a continuación, la pestaña Application Access.
- Busque su aplicación cliente y seleccione Edit para configurar sus políticas de acceso a la aplicación.
- Seleccione User Access y, en Authorization, seleccione Authorized.
- En los permisos, seleccione All para todos los alcances de Connected Accounts de la aplicación.
- Seleccione Save. Esto crea un client grant que permite a su aplicación cliente acceder a la API My Account con los alcances de Connected Accounts en nombre del usuario.
- Si usa Multi-Resource Refresh Token, vaya a la pestaña Settings. En Access Settings, seleccione Allow Skipping User Consent.
Configurar el Token de actualización multirrecurso
- Auth0 Dashboard
- Management API
Para configurar MRRT con el Auth0 Dashboard:
- Vaya a Applications > Applications y seleccione su aplicación.
- En Multi-Resource Refresh Token, seleccione Edit Configuration.
- Para habilitar MRRT con API My Account, active My Account API.
Configurar Connected Accounts
- Vaya a Authentication > Social Connections o Enterprise Connections y seleccione la conexión.
- Seleccione Applications y luego habilite la conexión para su aplicación cliente.
- Auth0 Dashboard
- Management API
Para configurar Connected Accounts con Auth0 Dashboard:
- Vaya a Authentication > Social Connections o Enterprise Connections.
- Seleccione Create Connection o una conexión existente.
- En Purpose, active Connected Accounts for Token Vault. Según la configuración de Purpose, es posible que deba habilitar
offline_accessen Auth0 Dashboard para permitir que la aplicación cliente obtenga un token de actualización del proveedor externo durante el flujo de Connected Accounts. Para obtener más información, consulte Autenticación de usuarios frente a Connected Accounts. - Haga clic en Save.
Obtener un token de acceso para Connected Accounts
Obtener un Token de actualización
offline_scope para devolver un Token de actualización y un code de autorización de un solo uso para el identificador de la API My Account https://{yourDomain}/me/:
/token:
Canjear un Token de actualización por un Token de acceso para la API My Account
Iniciar solicitud de Connected Accounts
POST al endpoint /me/v1/connected-accounts/connect de la API de My Account con los siguientes parámetros:
Para una conexión social de Google, asegúrese de seleccionar
offline_access en el Auth0 Dashboard al configurar la conexión. Esto es necesario para que su aplicación cliente pueda obtener un Token de actualización del Servidor de autorización de Auth0.| Parameter | Description |
|---|---|
connection | Nombre de la conexión. Para una conexión social de Google, establézcalo en google-oauth2. |
redirect_uri | La URL de devolución de llamada de su aplicación cliente. |
state | Una cadena única y aleatoria asociada con la solicitud para evitar ataques. |
scopes | (Opcional) Los alcances que se pasan al proveedor externo como un array de cadenas. Si se usa para pasar alcances para una conexión social de Google, incluya openid y profile como mínimo. En tiempo de ejecución, cualquier alcance incluido en el parámetro scopes tiene prioridad sobre los alcances seleccionados en el Auth0 Dashboard, excepto offline_access, si la conexión lo requiere y está habilitado en el Auth0 Dashboard. |
| Parameter | Description |
|---|---|
auth_session | ID de sesión que representa la sesión autenticada actual del usuario principal. La aplicación cliente guarda el ID de sesión para verificarlo posteriormente. |
connect_uri | URL a la que la aplicación cliente redirige al usuario y que abre un navegador web para gestionar la autorización con el proveedor externo. |
connect_params | Parámetros adicionales necesarios para el URI de conexión. Incluye un ticket temporal que la API My Account utiliza para verificar la solicitud. |
expires_in | Tiempo de expiración de la sesión en segundos. |
connect_uri con el ticket como parámetro de consulta. Autorice la lista de alcances en la pantalla de consentimiento y, a continuación, extraiga y guarde el connect_code del fragmento de la URL.
Completar una solicitud de Connected Accounts
POST al endpoint /me/v1/connected-accounts/complete con los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
auth_session | ID de sesión que representa la sesión autenticada actual del usuario principal. La aplicación cliente guarda el ID de sesión para verificarlo más adelante. |
connect_code | Un code de un solo uso y de corta duración recibido durante el proceso de autorización del proveedor externo. Este code se intercambia de forma segura en el servidor para obtener los tokens de acceso finales de la API externa. |
redirect_uri | La URL de devolución de llamada exacta de tu aplicación, a la que se redirigió al usuario después de autorizar correctamente la conexión con el proveedor externo. Este valor debe coincidir con el redirect_uri usado para iniciar el flujo. |
| Parámetro | Descripción |
|---|---|
id | Identificador único de la cuenta conectada. |
connection | Nombre de la conexión. |
created_at | Marca de tiempo de cuándo se creó la cuenta conectada y se vinculó al perfil del usuario. |
scopes | Los alcances específicos de OAuth (permisos) a los que el usuario concedió acceso a su aplicación al conectarse al proveedor externo. Estos alcances determinan qué acciones puede realizar su aplicación en la API externa. |
access_type | Indica el tipo de acceso concedido. Un valor habitual es offline, lo que significa que se obtuvo y almacenó correctamente un Token de actualización, lo que permite que su aplicación mantenga el acceso incluso cuando el usuario está desconectado. |
Gestionar cuentas conectadas
/me/v1/connected-accounts.
Antes de usar la colección /connected-accounts, obtén un token de acceso para Connected Accounts.
Consultar las conexiones de cuentas vinculadas
GET al endpoint /me/v1/connected-accounts/connections para obtener una lista de conexiones vinculadas al perfil del usuario:
Consultar cuentas conectadas
GET al endpoint /me/v1/connected-accounts/accounts para obtener una lista de cuentas conectadas vinculadas al perfil del usuario:
GET al endpoint /users/{userId}/connected-accounts:
Consultar cuentas conectadas para una conexión específica
GET al endpoint /me/v1/connected-accounts/accounts y pase el nombre de la conexión como parámetro de consulta para devolver una lista de cuentas conectadas filtradas por una conexión específica vinculada a un perfil de usuario:
google-oauth2:
Eliminar una cuenta conectada
DELETE al endpoint /me/v1/connected-accounts/accounts/{connectedAccountId} para eliminar una cuenta conectada con un ID determinado: