Skip to main content
Auth0 distingue entre tres tipos de metadatos que se usan para almacenar tipos específicos de información.
Los metadatos de Auth0 no son un almacén de datos seguro y no deben usarse para almacenar información confidencial, como secretos de alto riesgo e información de identificación personal (PII), por ejemplo números de seguro social o de tarjetas de crédito. Se recomienda encarecidamente a los clientes de Auth0 que evalúen los datos almacenados en los metadatos y guarden solo lo necesario para fines de gestión de identidades y accesos.

Nombres de los campos de metadatos

Caracteres aceptados

Los nombres de los campos no deben contener los caracteres . (punto) ni $ (signo de dólar). Por ejemplo, esto no está permitido:
Pero puedes ampliarlo así:

Nombres de campo dinámicos

Los nombres de campo deben ser estáticos. Los nombres de campo dinámicos reducen la eficiencia de la indexación y degradan el rendimiento de las consultas de búsqueda. Un esquema estático es más fácil de buscar, manipular y usar. En lugar de hacer esto:
Haz esto:

Colisión de nombres

Evita usar el mismo nombre para los campos de app_metadata y los campos raíz del perfil. El campo app_metadata se fusiona con el perfil raíz tanto en Rules como en Actions, lo que puede sobrescribir campos del perfil raíz. Por ejemplo, si un usuario tiene un campo groups en su perfil raíz (devuelto por un ) y un campo groups dentro de app_metadata, su perfil podría verse así:
Al leer el campo groups del objeto de usuario en una Rule, se devolverá: ["internal-group-1", "internal-group-2"].

Tipos de datos de los metadatos

Los campos de metadatos admiten todos los tipos de datos compatibles con JSON:
  • Cadena
  • Número
  • Array
  • Objeto
Asegúrese de mantener la coherencia de los tipos de datos entre los usuarios. Por ejemplo, si almacena un valor como una cadena para un usuario (user.user_metadata.age = "23") y como un número para otro usuario (user.user_metadata.age = 23), puede haber problemas al recuperar los datos.

Limitaciones y restricciones

Límites de frecuencia

Si actualiza metadatos durante el inicio de sesión con Rules o Actions, se aplican los límites de frecuencia de su inquilino. Para obtener más información, consulte Límites de frecuencia de los endpoints de Management API.
Solo debe almacenar en los metadatos datos relacionados con la autenticación del usuario. Las capacidades de almacenamiento y búsqueda de Auth0 están diseñadas para casos de uso que no requieren búsquedas intensivas ni una alta frecuencia de actualización.Si necesita mantener datos detallados del perfil de los usuarios, debe hacerlo en un sistema externo. Puede almacenar el identificador del usuario de ese sistema como un campo de metadatos en Auth0.

Límites de tamaño y almacenamiento

  • Hay un límite de 1 MB por usuario para los datos de usuario que se pueden indexar, consultar y devolver mediante el endpoint de búsqueda de usuarios. Si un perfil de usuario supera 1 MB, los valores de los atributos de más de 256 caracteres dentro de app_metadata y user_metadata no se podrán buscar ni se devolverán en los resultados de búsqueda. Si el perfil de usuario sigue superando 1 MB después de omitir estos valores extensos, ninguno de los atributos de app_metadata y user_metadata se podrá buscar ni devolver para ese usuario. Auth0 captura y registra los casos en los que un perfil de usuario sigue superando 1 MB después de estas omisiones con el código de evento wum. Debe usarse el endpoint get user para recuperar todos los atributos de metadato de los perfiles de usuario que superan ese tamaño.
  • Cuando configure el campo user_metadata mediante el endpoint Signup de la API de autenticación de Auth0, puede incluir un máximo de 10 campos de cadena cuyos valores no superen los 500 caracteres cada uno. Para ver un ejemplo de cómo trabajar con metadato durante un proceso de registro personalizado, consulte Custom Signup.
  • El campo client_metadata puede tener un máximo de 10 claves. Tanto las claves como los valores pueden tener una longitud máxima de 255 caracteres y no pueden contener caracteres especiales UTF-8.

Restricciones

El campo app_metadata no debe contener ninguna de las siguientes propiedades:
  • __tenant
  • _id
  • blocked
  • clientID
  • created_at
  • email_verified
  • email
  • globalClientID
  • global_client_id
  • identities
  • lastIP
  • lastLogin
  • loginsCount
  • metadata
  • multifactor_last_modified
  • multifactor
  • updated_at
  • user_id

Más información