Skip to main content
Auth0 offre un système complet pour stocker des métadonnées dans le profil utilisateur Auth0. Vous pouvez configurer un déclencheur post-login pour modifier user_metadata et app_metadata dans le cadre du flux de connexion d’un utilisateur. Les déclencheurs post-login sont utiles pour des tâches comme stocker des données propres à l’application dans le profil utilisateur, consigner les logs des opérations utilisateur, mapper les attributs au champ de métadonnées, ou mettre en cache sur le profil utilisateur les valeurs d’opérations coûteuses afin de les réutiliser lors de connexions ultérieures. L’objet api de post-login fournit des opérations courantes pouvant être effectuées dans ce déclencheur. Pour gérer les métadonnées utilisateur, nous utiliserons les méthodes api.user.setAppMetadata et api.user.setUserMetadata. Par exemple, pour éviter qu’un certain comportement ne s’exécute plus d’une fois pour un utilisateur précis, prenons une Action comme celle-ci :
Ici, nous avons ajouté une vérification au début de l’Action pour voir si nous avons déjà effectué la tâche coûteuse pour cet utilisateur. Si le champ de métadonnées existe, nous quittons la fonction. À la fin de l’Action, nous appelons api.user.setAppMetadata pour indiquer que nous souhaitons stocker certaines métadonnées dans l’objet user. À la fin de l’exécution de chaque trigger, Actions met à jour le profil utilisateur en une seule opération. Si plusieurs appels à setUserMetadata sont effectués, même dans différentes actions du même flow, Actions ne met à jour le profil utilisateur qu’une seule fois—à la fin de l’exécution du trigger.
Plusieurs appels à setUserMetadata ou setAppMetadata seront regroupés en une seule mise à jour du profil utilisateur à la fin de l’exécution du trigger, même s’ils sont effectués par différentes Actions.

Meilleures pratiques

Évitez de stocker trop de données dans le profil Auth0. Ces données sont destinées à des fins d’authentification et d’autorisation, et les utilisateurs peuvent modifier leur propre champ user_metadata; n’y stockez donc pas de données sensibles. Les métadonnées et les capacités de recherche d’Auth0 ne sont pas conçues pour les études de marché ni pour toute autre utilisation exigeant une fréquence élevée de recherches ou de mises à jour. Votre système risque de rencontrer des problèmes d’évolutivité et de performance si vous utilisez Auth0 à cette fin. Il vaut mieux stocker les données dans un système externe et conserver un pointeur (l’ID utilisateur) dans Auth0 afin que les systèmes backend puissent récupérer les données au besoin.

Limites de débit

Le fait de définir les métadonnées utilisateur et d’application est assujetti aux limites de débit de votre tenant et peut avoir une incidence sur le débit des connexions.
Même si une seule requête est envoyée pour mettre à jour le profil utilisateur, cette opération demeure assujettie aux limites de débit « Write User » de votre tenant. Si la limite de débit est atteinte lors d’une tentative de mise à jour des métadonnées, Actions réessaiera la requête tant qu’un code d’état HTTP 429 est renvoyé. Le délai entre les tentatives est déterminé par la valeur de l’en-tête X-RateLimit-Reset renvoyée dans la réponse 429.

Redirections

Lorsqu’une redirection est invoquée avec api.redirect.sendUserTo(), toute mise à jour en attente des métadonnées utilisateur ou des métadonnées d’application sera appliquée au profil utilisateur avant la redirection de l’utilisateur vers le site externe. Pour en savoir plus, consultez Rediriger avec Actions.

Pour en savoir plus