Saltar al contenido principal
Auth0 proporciona un sistema completo para almacenar metadatos en el perfil de usuario de Auth0. Puedes usar metadatos para realizar las siguientes acciones:
  • Almacenar datos específicos de la aplicación en el perfil del usuario.
  • Registrar si se realizaron o no operaciones específicas para un usuario.
  • Almacenar en caché los resultados de operaciones costosas en el perfil del usuario para reutilizarlos en futuros inicios de sesión.
  • Almacenar información que no proviene de un o que reemplaza la que proporciona un proveedor de identidad.
Los metadatos se pueden modificar como parte del flujo de inicio de sesión de un usuario. Puedes configurar la sincronización de la conexión para que el proveedor de identidad actualice los atributos raíz del usuario solo cuando se cree el perfil de usuario. Después, puedes editar los atributos raíz individualmente o mediante una importación masiva. Para obtener más información, consulta Configurar la conexión del proveedor de identidad para las actualizaciones del perfil de usuario.

Tipos de metadatos

Auth0 usa tres tipos de metadatos para almacenar tipos concretos de información.
Tipo de metadatosNombre del campoDescripción
Información del usuariouser_metadataAlmacena atributos del usuario, como preferencias, que no afectan a la funcionalidad principal del usuario. Estos datos pueden ser editados por usuarios autenticados si crea un formulario con la Management API y no deben usarse como almacén seguro de datos.
Información de accesoapp_metadataAlmacena información como permisos, el plan de Auth0 e identificadores externos que pueden afectar al acceso del usuario a las funciones. Estos datos no pueden ser editados por los usuarios y existen restricciones sobre lo que se puede almacenar en este campo.
Información de la aplicaciónclient_metadata en el objeto Client, context.clientMetadata en Rules y event.client.metadata en Actions de post-login.Almacena información sobre una aplicación (o cliente en la terminología de OIDC OAuth2). Por ejemplo, la URL de la página principal de la aplicación (cualquier valor que Auth0 no establezca en la configuración de la aplicación).

Administrar metadatos

Puede crear y actualizar metadatos con Rules, la API de autenticación, la , el y la biblioteca Lock. En los scripts de bases de datos personalizadas y en el script fetchUserProfile de las conexiones sociales personalizadas, puede crear y actualizar metadatos mediante el objeto metadata.

Usar Actions

Actions son funciones seguras, versionadas y específicas de cada inquilino, escritas en Node.js, que se ejecutan en determinados puntos de la plataforma Auth0. Se usan para personalizar y ampliar las capacidades de Auth0 con lógica personalizada. También pueden usarse para enriquecer el perfil del usuario. Por ejemplo, puede crear una Action post-login que use claims personalizados para copiar propiedades de user_metadata a . Después, puede recuperar el user_metadata de los usuarios a través del endpoint Get User Info de la API de autenticación. Para obtener más información, lea Administrar los metadatos del usuario con el desencadenador post-login de Action.

Usa la Management API

Un usuario puede solicitar un con los alcances adecuados y usar los siguientes endpoints de la Management API para ver, crear o actualizar user_metadata, o eliminar una configuración de .
TareaEndpointAlcance
VerGET /api/v2/users/{id}read:current_user
CrearPATCH /api/v2/users/{id}create:current_user_metadata
ActualizarPATCH /api/v2/users/{id}update:current_user_metadata
EliminarDELETE /api/v2/users/{id}/multifactor/{provider}update:users
Se requiere un token de acceso para llamar a la Management API de Auth0. Para obtener más información, consulta Tokens de acceso para la Management API y Obtener tokens de la Management API para SPA.

Use el Dashboard

Utilice el Auth0 Dashboard para configurar los metadatos de la aplicación, que contienen pares de clave-valor. Para obtener más información, consulte Configurar metadatos de la aplicación.

Use la biblioteca Lock

Use la biblioteca Lock para definir, agregar, leer y actualizar user_metadata. Lea las propiedades de user_metadata de la misma forma en que leería cualquier otra propiedad del perfil del usuario. Por ejemplo, el siguiente fragmento de código recupera el valor asociado a user_metadata.hobby y lo asigna a un elemento de la página:
// Usa el accessToken obtenido durante la autenticación para llamar a getUserInfo
lock.getUserInfo(accessToken, function(error, profile) {
  if (!error) {
    document.getElementById('hobby').textContent = profile.user_metadata.hobby;
  }
});
Puede usar additionalSignUpFields para agregar campos personalizados a los formularios de registro de usuarios. Cuando un usuario introduce datos en un campo personalizado, Auth0 almacena los valores introducidos en el user_metadata de ese usuario. Para obtener más información sobre cómo agregar user_metadata durante el registro, consulte Additional Signup Fields.

Conexiones de base de datos personalizadas y metadatos

Si tiene una conexión de base de datos personalizada, puede usar el endpoint /dbconnections/signup de la API de autenticación para establecer user_metadata de un usuario. Para obtener más información sobre cómo trabajar con metadatos durante un proceso de registro personalizado, consulte Custom Signup. Cuando establece el campo user_metadata mediante el endpoint /dbconnections/signup de la API de autenticación, el límite es de 10 campos de texto y 500 caracteres.

Correos electrónicos personalizados y metadatos

Use metadatos para almacenar información que quiera utilizar para personalizar los correos electrónicos de Auth0. Por ejemplo, use user_metadata.lang si quiere que el usuario pueda cambiar el valor del campo y, a continuación, use esa información para personalizar el idioma del correo electrónico. Para obtener más información, lea Personalizar plantillas de correo electrónico. Si tiene problemas con Lock, revise Errores de deprecación. Si tiene problemas con la Management API, revise Verificar llamadas a la API

Más información