Skip to main content
Les métadonnées de jeton d’actualisation et les métadonnées de session vous permettent, ensemble, de créer et de stocker des données qui persistent durant tout le cycle de vie de la session Auth0 d’un utilisateur. Cet article présente des exemples pour les cas d’utilisation suivants : Pour en savoir plus, consultez A guide to Auth0 Session and Refresh Token Metadata.
Les métadonnées de session Auth0 ne constituent pas un espace de stockage sécurisé et ne doivent pas servir à stocker des renseignements sensibles. Cela comprend notamment les secrets et les renseignements personnels à haut risque, comme les numéros d’assurance sociale ou de carte de crédit. Il est fortement recommandé aux clients d’Auth0 d’évaluer les données stockées dans les métadonnées et de n’y conserver que celles qui sont nécessaires à des fins de gestion des identités et des accès. Pour en savoir plus, consultez Auth0 General Data Protection Regulation Compliance.

Créer des claims personnalisées persistantes

Les métadonnées du jeton d’actualisation et celles de la session, combinées, vous permettent de créer des claims personnalisées persistantes afin d’étendre les informations contenues dans les jetons ID et d’accès. À l’aide de claims personnalisées persistantes, vous pouvez accéder à des données propres à l’application, comme :
  • Rôles utilisateur
  • Permissions
  • ID de locataire
  • D’autres attributs nécessaires à l’autorisation et à la personnalisation lors des échanges de jetons d’actualisation.
Configurez un déclencheur post-login Action pour créer des claims personnalisées persistantes et les attribuer aux métadonnées du jeton d’actualisation à l’aide de l’objet api.refreshToken.setMetadata().
custom claim Action example
Lors d’un échange de jeton d’actualisation, un déclencheur Action post-login ultérieur peut accéder à ces claims personnalisées au moyen de l’objet event.refresh_token.metadata et les appliquer aux nouveaux jetons d’actualisation émis à l’aide des objets api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().
Une seule Action post-login peut gérer différents scénarios grant_type à l’aide de l’objet event.request.body.grant_type afin de gérer la persistance des claims. L’objet event.refresh_token est accessible en lecture seule pendant les échanges de jetons d’actualisation.

Créer un identifiant de session unique

Les métadonnées du jeton d’actualisation et celles de la session, combinées, vous permettent de créer un identifiant de session unique afin de mettre en place un identifiant de session persistant qui est conservé pendant toute la durée de la session d’un utilisateur, y compris lors des rotations de jetons d’actualisation. En utilisant des identifiants de session uniques, vous pouvez :
  • Consigner avec précision la session d’un utilisateur à des fins de débogage et d’audit.
  • Fournir aux applications un mécanisme pour suivre l’état interne de la session.
  • Permettre aux API d’offrir une journalisation granulaire, une limitation du taux de requêtes et des décisions d’autorisation contextuelles.
  • Offrir une expérience utilisateur cohérente sur plusieurs cycles de vie de jetons.
Configurez un déclencheur Action post-login pour créer un identifiant de session unique et l’attribuer à la session de l’utilisateur à l’aide des objets api.session.setMetadata() et api.refreshToken.setMetadata(). Ajoutez l’identifiant de session unique comme claim personnalisé aux jetons d’identité et d’accès à l’aide des objets api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().
unique session ID Action example
Lors d’un échange de jeton d’actualisation, un déclencheur Action post-login ultérieur peut accéder à ces claims personnalisés à l’aide de l’objet event.refresh_token.metadata et les appliquer aux nouveaux jetons d’actualisation émis au moyen des objets api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().

Créer un identifiant de locataire

Ensemble, les métadonnées du jeton d’actualisation et les métadonnées de session vous permettent de créer un identifiant de locataire persistant pour gérer des applications multilocataires, où une seule instance d’une application sert plusieurs organisations clientes, et qui est conservé pendant toute la durée de la session d’un utilisateur. En utilisant un identifiant de locataire persistant, vous pouvez :
  • Ajouter un contrôle d’accès dynamique pour appliquer facilement des autorisations propres au locataire dans vos applications et vos API
  • Créer une expérience utilisateur personnalisée afin d’offrir du contenu et des fonctionnalités pertinents selon le contexte de locataire actuel de l’utilisateur
  • Simplifier la logique multilocataire en centralisant l’identification et la propagation du locataire dans Auth0
  • Renforcer la sécurité en évitant l’exposition accidentelle de données entre locataires grâce à un contexte de locataire cohérent dans tous les jetons
  • Améliorer l’évolutivité en réduisant le besoin de requêtes répétées vers la base de données ou d’une logique complexe pour déterminer le contexte de locataire à chaque appel d’API ou actualisation de jeton
Configurez un déclencheur Action post-login pour identifier le locataire actif de l’utilisateur, soit en interrogeant l’application afin d’obtenir une valeur ext-tenantId fournie pendant la demande d’authentification, soit en déduisant le locataire à l’aide de la géolocalisation, soit en invitant l’utilisateur à sélectionner le locataire souhaité. Une fois le locataire identifié, assignez la valeur de l’identifiant de locataire à la session de l’utilisateur à l’aide des objets api.session.setMetadata() et api.refreshToken.setMetadata(), puis ajoutez-la comme claim personnalisé aux jetons d’identification et d’accès à l’aide des objets api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().
tenant identifier Action example
Lors d’un échange de jeton d’actualisation, une Action post-login exécutée par la suite peut accéder à ces claims personnalisés à l’aide de l’objet event.refresh_token.metadata, puis les appliquer aux nouveaux jetons d’actualisation émis au moyen des méthodes api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().

Gérer les données temporaires provenant des fournisseurs d’identité (IdP) en amont

Les métadonnées du jeton d’actualisation et les métadonnées de session vous permettent, ensemble, de gérer les données temporaires et contextuelles provenant des IdP en amont tout au long de la session d’un utilisateur, sans les stocker de façon permanente dans son profil Auth0. Avec les données temporaires, vous pouvez :
  • Garder les profils utilisateur épurés en évitant d’y stocker des données temporaires ou propres à une session
  • Accroître la flexibilité en prenant en charge des besoins en données variés provenant de différents IdP, sans imposer de modifications de schéma ni alourdir les profils utilisateur persistants
  • Améliorer la conformité en facilitant le respect des politiques de confidentialité et de conservation des données, en ne stockant les données temporaires que pendant la durée nécessaire
  • Réduire la charge de développement en simplifiant le traitement des données temporaires des IdP, puisque Auth0 Actions et les métadonnées gèrent le cycle de vie des données
Configurez un déclencheur Action post-login pour identifier les données de profil utilisateur contenues dans les objets event.request, event.user et event.context. Déterminez quelles données sont temporaires ou contextuelles et attribuez-les à la session de l’utilisateur à l’aide des objets api.session.setMetadata() et api.refreshToken.setMetadata(), puis ajoutez les données temporaires comme claim personnalisé aux jetons d’identification et d’accès à l’aide des objets api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().
transient data Action example
Lors d’un échange de jeton d’actualisation, un déclencheur Action post-login ultérieur peut accéder à ces claims personnalisés au moyen de l’objet event.refresh_token.metadata et les appliquer aux nouveaux jetons d’actualisation émis à l’aide de la méthode api.accessToken.setCustomClaim().

Renforcer la sécurité et la détection de la fraude

Les métadonnées du jeton d’actualisation et les métadonnées de session vous permettent de mettre en œuvre une sécurité adaptative en suivant et en comparant les informations contextuelles tout au long de la session d’un utilisateur, y compris les rotations de jetons d’actualisation et les demandes d’authentification silencieuse. En mettant en œuvre une sécurité adaptative, vous pouvez :
  • Mettre en place une détection proactive des menaces en repérant et en traitant automatiquement les changements suspects dans les données contextuelles de l’utilisateur, ce qui réduit le risque de détournement de session et d’accès non autorisé.
  • Réduire les frictions pour les utilisateurs légitimes en ne demandant une MFA ou une vérification supplémentaire que lorsqu’une véritable anomalie est détectée, ce qui améliore l’expérience utilisateur par rapport à des exigences de MFA systématiques.
Configurez un déclencheur Action post-login pour identifier les données contextuelles de l’utilisateur, qui peuvent inclure l’empreinte de l’appareil, l’emplacement géographique, les attributs réseau et les attributs comportementaux. Stockez ces données contextuelles dans la session de l’utilisateur à des fins de comparaison, à l’aide de l’objet api.session.setMetadata().
security detection Action example
Lors d’un échange de jeton d’actualisation ou d’une authentification silencieuse, un déclencheur post-login Action subséquent peut effectuer une évaluation des risques et appliquer des réponses adaptatives.

Accéder aux métadonnées avec la Management API

Vous pouvez utiliser les points de terminaison GET /api/v2/refresh-tokens/{id} et /api/v2/sessions/{id} de la Management API d’Auth0 pour récupérer les données stockées dans les métadonnées d’un jeton d’actualisation ou d’une session. La réponse inclut le champ metadata, qui contient les données stockées :

En savoir plus