Saltar al contenido principal
Para acceder a cualquiera de las aplicaciones de su inquilino, cada usuario debe tener un perfil en ese inquilino. Los perfiles de usuario contienen información sobre sus usuarios, como el nombre y los datos de contacto. Puede gestionar los perfiles de usuario mediante el Auth0 Dashboard y la Auth0 Management API.

Fuentes de datos de usuario

Los datos de usuario pueden provenir de muchas fuentes, incluidas sus propias bases de datos, así como sociales, legales y empresariales. Algunos ejemplos son Google, Facebook, Active Directory o . Puede normalizar los datos de usuario procedentes de cualquier fuente de datos compatible. Los atributos del perfil del usuario pueden incluir información del proveedor de identidad. Estos son algunos ejemplos:
Datos de usuario de…Podrían incluir…
LinkedInEmpresa actual o títulos obtenidos
FacebookFoto de perfil, cumpleaños o estado sentimental
Active DirectoryNúmero de empleado, cargo o departamento
Auth0 denomina conexiones a todas las fuentes de datos de usuario porque se conecta a ellas para autenticar al usuario.

Normalización de datos de usuario

Auth0 admite diversos Proveedores de identidad y Conexiones de base de datos. Cada conexión puede devolver un conjunto distinto de atributos de usuario. A veces, distintas conexiones usan nombres diferentes para un mismo atributo. Por ejemplo, surname en una conexión puede corresponder a last_name o family_name en otras fuentes de datos de usuario. Para gestionar esta complejidad, Auth0 proporciona un perfil de usuario normalizado, un estándar propio de Auth0 para almacenar datos de usuario.
Para ver la estructura de datos del perfil de usuario de Auth0, ve a Dashboard > User Management > Users y haz clic en un usuario.

Mapeo de atributos del perfil de usuario

Conector AD/LDAP

Para Active Directory o cualquier otra conexión LDAP que use el conector AD/LDAP de Auth0, existe un mecanismo para mapear los atributos del perfil de usuario del servicio de directorio al perfil de usuario normalizado de Auth0. Un archivo profileMapper.js, ubicado en el directorio de instalación del conector AD/LDAP, mapea los atributos cuando un usuario se autentica.

Aserciones SAML

Si su aplicación usa el protocolo SAML para comunicarse con Auth0, se utiliza uno de estos dos mecanismos para hacer coincidir los atributos del usuario con el perfil de usuario normalizado de Auth0:
Si Auth0 es un…Entonces…
Proveedor de servicios SAMLUse la pestaña Mappings de la conexión SAML para asignar atributos procedentes de un IdP a atributos del perfil de usuario de Auth0: vaya a Dashboard > Authentication > Enterprise > SAMLP. Haga clic en el nombre de la conexión SAML y luego en Mappings.
Proveedor de identidad SAMLUse la pestaña Settings de los Application AddOns para asignar atributos del perfil de usuario de Auth0 a atributos de la aserción SAML que se devuelve al proveedor de servicios: vaya a Dashboard > Applications. Haga clic en el nombre de su aplicación, luego en Addons y, después, en SAML2 Web App.

Vinculación de cuentas

Los usuarios pueden iniciar sesión en una aplicación inicialmente mediante una conexión (como una base de datos personalizada) y, más adelante, iniciar sesión mediante una conexión diferente (como Facebook). En este caso, el user_id de la segunda autenticación es diferente del user_id de la primera autenticación. Auth0 proporciona un mecanismo para vincular las dos cuentas. Cuando Auth0 vincula las dos cuentas, almacena dos elementos en la sección del arreglo identities del perfil de usuario, uno por cada conexión. Auth0 no fusiona los atributos del perfil de usuario de varios proveedores. Auth0 obtiene los atributos básicos del perfil de usuario del primer proveedor utilizado. Para obtener más información, consulte Vinculación de cuentas de usuario.

Almacenamiento en caché de perfiles de usuario

Auth0 almacena en caché el perfil del usuario recibido de una conexión antes de pasarlo a la aplicación que hizo la llamada. Esta caché se encuentra en la base de datos de Auth0. Cada vez que el usuario se autentica, Auth0 actualiza la caché. Para obtener más información, lea Actualizar el perfil del usuario con su base de datos.

Datos personalizados del perfil del usuario

Auth0 le permite almacenar metadatos, es decir, datos relacionados con cada usuario que no provienen del Proveedor de identidad. Puede usar user_metadata para almacenar atributos personalizados, como el color favorito del usuario o sus pasatiempos.

Modificar los datos del perfil del usuario

Puede modificar la información del perfil de un usuario de varias maneras.
  • Scopes: Los flujos de autenticación admitidos por Auth0 incluyen un parámetro opcional que le permite especificar un scope. Esto controla la información del perfil del usuario (claims) incluida en el ().
  • Auth0 Dashboard: Auth0 Dashboard le permite editar manualmente las secciones user_metadata y app_metadata del perfil de cualquier usuario.
  • Management API: Puede leer, actualizar y eliminar perfiles de usuario almacenados en la base de datos de Auth0.
  • Custom database scripts: Si utiliza una base de datos personalizada como una conexión, puede escribir scripts para implementar eventos del ciclo de vida como crear, iniciar sesión, verificar, eliminar y cambiar la contraseña. Auth0 proporciona plantillas para estos scripts que puede modificar según la base de datos y el esquema concretos.
  • Rules: Use Rules para enriquecer el perfil del usuario durante la transacción de autenticación y, opcionalmente, guardar esos cambios en Auth0.

Acceder a perfiles de usuario

Tanto las aplicaciones como la de Auth0 pueden acceder a la información del perfil de un usuario.

Acceder a perfiles de usuario desde aplicaciones

Una vez que Auth0 completa la autenticación y devuelve el control a su aplicación, proporciona el perfil del usuario a la aplicación. En un nivel más técnico, puede hacerlo mediante uno de los protocolos de aplicación compatibles con Auth0. Sin embargo, la mayoría de los desarrolladores prefieren usar los SDK de Auth0. Para obtener más información, consulte Quickstarts. Uno de estos SDK es el widget Auth0 Lock, que proporciona una interfaz de inicio de sesión para el usuario. Para obtener más información, consulte: Si quiere que su aplicación web tenga una interfaz de inicio de sesión personalizada, puede usar Auth0.js. Esta biblioteca JavaScript sin interfaz gráfica para Auth0 invoca el flujo de autenticación (y otras tareas) y, a cambio, recibe un objeto User Profile. Para obtener más información, consulte Auth0.js v9 Reference.

Acceder a los perfiles de usuario desde la Management API

Auth0 proporciona una API REST que permite a las aplicaciones y los servicios acceder al objeto User Profile y modificarlo. API Explorer permite a los usuarios explorar de forma interactiva la Management API. Proporciona:
  • Llamadas a la API disponibles
  • Información necesaria para cada llamada
  • Información devuelta por cada llamada
Con Explorer, los usuarios pueden probar cada endpoint en la interfaz de usuario de Explorer o mediante un comando CuRL en la línea de comandos. Para probar uno de los comandos de la Management API, vaya a API Explorer. Seleccione el acceso necesario en Scopes dentro del comando que elija, como update:users, y luego haga clic en TRY. Auth0 Authentication API es específica de los flujos de autenticación. Para obtener más información, consulte Authentication API Explorer. Normalmente, la mayoría de estos endpoints los utilizan los distintos SDK de Auth0, no su propio código.

La diferencia entre los perfiles de usuario y los tokens

En los flujos de autenticación descritos anteriormente, Auth0 devuelve un conjunto de tokens en lugar de un perfil de usuario completo. Uno de los tokens devueltos es el token de ID, que es un JSON Web Token (JWT) que contiene atributos del perfil del usuario representados en forma de claims. Estos claims son afirmaciones sobre el usuario. Se puede confiar en un claim si quien consume el token puede verificar su firma, que (en el caso de HS256) se genera con el de la aplicación en Auth0. Si tu aplicación usa cifrado RS256, el token de ID se firmará con una clave privada y se verificará con una clave pública. Luego, tu aplicación puede decodificar el JWT y obtener la información del usuario contenida en su carga útil. Algunos ejemplos de esta información son el nombre del usuario, el correo electrónico y otros datos que normalmente forman parte de la experiencia del usuario. Los claims de un JWT por lo general contienen solo un subconjunto de la información disponible en el perfil del usuario. El objetivo es minimizar el tamaño del token. Para obtener más información, lee JSON Web Tokens. Hay otros tres tipos de tokens que pueden devolverse durante la autenticación:
  • Auth0
  • Token de acceso de un proveedor externo
Para obtener más información sobre los tokens y los claims, lee Tokens.

Más información