Describe los nombres de los campos, los tipos de datos, las limitaciones y las restricciones de los metadatos del usuario, los metadatos de la app y los metadatos de la aplicación (cliente).
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.
Tipo de metadatos
Nombre del campo
Descripción
Información del usuario
user_metadata
Almacena atributos del usuario, como preferencias, que no afectan la funcionalidad principal del usuario. Estos datos pueden ser editados por usuarios que hayan iniciado sesión si crea un formulario con la Management API y no deben usarse como un almacén de datos seguro.
Información de acceso
app_metadata
Almacena información como permisos, el plan de Auth0 e identificadores externos que pueden afectar el 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ón
client_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).
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:
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í:
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.
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.
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 eventowum. 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.