Skip to main content
Auth0 distingue trois types de métadonnées servant à stocker des types précis d’information.
Les métadonnées Auth0 ne constituent pas un stockage de données sécurisé et ne doivent pas être utilisées pour stocker des renseignements sensibles, comme des secrets à haut risque et des renseignements personnels identifiables (PII), tels que des numéros d’assurance sociale ou de carte de crédit. Auth0 recommande fortement à ses clients d’évaluer les données stockées dans les métadonnées et de n’y conserver que ce qui est nécessaire à des fins de gestion des identités et des accès.

Noms de champ des métadonnées

Caractères acceptés

Les noms de champ ne doivent pas contenir les caractères . (point) ni $ (signe dollar). Par exemple, ceci n’est pas permis :
Mais vous pouvez l’étendre ainsi :

Noms de champ dynamiques

Les noms de champ doivent être statiques. Les noms de champ dynamiques réduisent l’efficacité de l’indexation et nuisent aux performances des requêtes de recherche. Un schéma statique est plus facile à interroger, à manipuler et à utiliser. Au lieu de faire ceci :
Faites ceci :

Collision de noms

Évitez d’utiliser le même nom pour les champs app_metadata et les champs du profil racine. Le champ app_metadata est fusionné au profil racine, dans Rules comme dans Actions, ce qui peut remplacer des champs du profil racine. Par exemple, si un utilisateur a un champ groups dans son profil racine (renvoyé par un ) et un champ groups dans app_metadata, son profil pourrait ressembler à ceci :
Lorsque vous lisez le champ groups dans l’objet user depuis une Rule, il renvoie : ["internal-group-1", "internal-group-2"].

Types de données des métadonnées

Les champs de métadonnées prennent en charge tous les types de données compatibles avec JSON :
  • String
  • Number
  • Array
  • Object
Assurez-vous d’utiliser des types de données cohérents d’un utilisateur à l’autre. Par exemple, si vous stockez une valeur sous forme de chaîne pour un utilisateur (user.user_metadata.age = "23") et sous forme de nombre pour un autre (user.user_metadata.age = 23), vous pourriez rencontrer des problèmes lors de la récupération des données.

Limites et restrictions

Limites de débit

Lorsque vous mettez à jour des métadonnées pendant la connexion à l’aide de Rules ou Actions, vous êtes soumis aux limites de débit de votre tenant. Pour en savoir plus, consultez les limites de débit des points de terminaison de la Management API.
Vous ne devriez stocker dans les métadonnées que les données liées à l’authentification de l’utilisateur. Les capacités de stockage et de recherche d’Auth0 sont conçues pour des cas d’utilisation qui ne nécessitent pas des recherches fréquentes ni des mises à jour fréquentes.Si vous devez conserver des données détaillées liées au profil des utilisateurs, vous devriez le faire dans un système externe. Vous pouvez stocker l’identifiant de l’utilisateur dans ce système comme champ de métadonnées dans Auth0.

Limites de taille et stockage

  • Il existe une limite de 1 Mo par utilisateur pour les données utilisateur pouvant être indexées, interrogées et renvoyées par le point de terminaison de recherche d’utilisateurs. Si un profil utilisateur dépasse 1 Mo, les valeurs d’attribut de plus de 256 caractères dans app_metadata et user_metadata ne seront pas interrogeables ni renvoyées dans les résultats de recherche. Si le profil utilisateur dépasse encore 1 Mo après l’omission de ces valeurs volumineuses, aucun des attributs app_metadata et user_metadata ne pourra être interrogé ni renvoyé pour cet utilisateur. Auth0 capture et consigne les cas où un profil utilisateur dépasse toujours 1 Mo après ces omissions sous le wum code d’événement. Le point de terminaison Get User doit être utilisé pour récupérer tous les attributs de métadonnées des profils utilisateur de trop grande taille.
  • Lorsque vous définissez le champ user_metadata à l’aide du point de terminaison Signup de l’Auth0 Authentication API, vous pouvez inclure un maximum de 10 champs de type chaîne dont les valeurs ne dépassent pas 500 caractères chacune. Pour obtenir un exemple d’utilisation des métadonnées dans un processus d’inscription personnalisé, consultez Custom Signup.
  • Le champ client_metadata peut contenir un maximum de 10 clés. Ses clés et ses valeurs ont chacune une longueur maximale de 255 caractères et ne peuvent pas contenir de caractères spéciaux UTF-8.

Restrictions

Le champ app_metadata ne doit contenir aucune des propriétés suivantes :
  • __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

En savoir plus