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 tout au long du 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 stockage de données sécurisé et ne doivent pas servir à stocker des renseignements sensibles. Cela comprend les secrets et les PII à risque élevé, 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 ne conserver que celles qui sont nécessaires à des fins de gestion des identités et des accès. Pour en savoir plus, consultez Conformité d’Auth0 au Règlement général sur la protection des données.

Créer des revendications personnalisées persistantes

Les métadonnées du jeton d’actualisation et les métadonnées de session vous permettent de créer des revendications personnalisées persistantes afin d’enrichir les informations contenues dans les jetons ID et d’accès. Grâce aux revendications personnalisées persistantes, vous pouvez accéder à des données propres à l’application, par exemple :
  • Les rôles des utilisateurs
  • Les Permissions
  • Les ID de tenant
  • Et d’autres attributs nécessaires à l’autorisation et à la personnalisation lors des échanges de jeton d’actualisation.
Configurez un déclencheur d’Action post-login post-login d’Action pour créer des revendications 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 d’Action post-login post-login ultérieur peut accéder à ces revendications personnalisées à 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().
Une même Action post-login peut gérer différents scénarios de grant_type à l’aide de l’objet event.request.body.grant_type pour gérer l’enregistrement des revendications. L’objet event.refresh_token est accessible en lecture seule pendant les échanges de jetons d’actualisation.

Créer un ID de session unique

Les métadonnées du jeton d’actualisation et les métadonnées de session vous permettent de créer un ID 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 de la rotation des jetons d’actualisation. À l’aide d’ID 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 UX cohérente sur plusieurs cycles de vie des jetons.
Configurez un déclencheur d’Action post-login post-login pour créer un ID de session unique et l’attribuer à la session de l’utilisateur à l’aide des objets api.session.setMetadata() et api.refreshToken.setMetadata(). Ajoutez l’ID de session unique comme revendication personnalisée aux jetons d’ID et d’accès à l’aide des objets api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().
unique session ID Action example
Pendant un échange de jeton d’actualisation, un déclencheur d’Action post-login ultérieur peut accéder à ces revendications personnalisées au moyen de l’objet event.refresh_token.metadata et les appliquer aux jetons d’actualisation nouvellement émis à l’aide des objets api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().

Créer un identifiant de tenant

Les métadonnées du jeton d’actualisation et les métadonnées de session vous permettent de créer un identifiant de tenant persistant pour gérer des applications multitenant, où une seule instance d’une application dessert plusieurs organisations clientes, et qui est conservé pendant toute la durée de la session de l’utilisateur. À l’aide d’un identifiant de tenant persistant, vous pouvez :
  • Ajouter un contrôle d’accès dynamique pour appliquer facilement des permissions propres au tenant dans vos applications et API
  • Créer une expérience utilisateur adaptée afin d’offrir du contenu et des fonctionnalités pertinents selon le contexte de tenant actuel de l’utilisateur
  • Simplifier la logique multitenant en centralisant l’identification du tenant et sa propagation dans Auth0
  • Renforcer la sécurité en évitant l’exposition accidentelle de données entre tenants grâce à un contexte de tenant cohérent dans tous les jetons
  • Améliorer l’évolutivité en réduisant le recours à des requêtes répétées vers la base de données ou à une logique complexe pour déterminer le contexte de tenant à chaque appel d’API ou actualisation de jeton
Configurez un déclencheur d’Action post-login post-login pour identifier le tenant actif de l’utilisateur, soit en interrogeant l’application pour obtenir une valeur ext-tenantId fournie pendant la requête d’authentification, soit en déduisant le tenant à l’aide de la géolocalisation, soit en demandant à l’utilisateur de sélectionner le tenant souhaité. Une fois le tenant identifié, attribuez la valeur de l’identifiant de tenant à la session de l’utilisateur à l’aide des objets api.session.setMetadata() et api.refreshToken.setMetadata(), puis ajoutez-la comme revendication personnalisée aux jetons d’identité 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 subséquente peut accéder à ces revendications personnalisées au moyen de l’objet event.refresh_token.metadata, puis les appliquer aux jetons d’actualisation nouvellement émis à l’aide des objets api.idToken.setCustomClaim() et api.accessToken.setCustomClaim().

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

Les métadonnées du jeton d’actualisation et les métadonnées de session vous permettent de gérer les données transitoires et contextuelles provenant des IDPs en amont tout au long de la session d’un utilisateur, sans les stocker de façon permanente dans son profil Auth0. En utilisant des données transitoires, vous pouvez :
  • Garder les profils utilisateur épurés en évitant de stocker des données transitoires ou propres à la session
  • Gagner en flexibilité en prenant en charge des besoins en données variés provenant de différents IDPs, sans imposer de modifications au schéma ni alourdir les profils utilisateur persistants
  • Améliorer la conformité en facilitant le respect des politiques de protection des données et de conservation, en ne stockant les données transitoires que pendant la durée nécessaire
  • Réduire la charge de développement en simplifiant la gestion des données transitoires des IDPs, puisque Auth0 Actions et les métadonnées gèrent le cycle de vie des données
Configurez un déclencheur d’Action post-login pour repérer les données de profil utilisateur contenues dans les objets event.request, event.user et event.context. Déterminez quelles données sont transitoires 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 transitoires comme revendication personnalisée aux jetons ID 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 d’Action post-login ultérieur peut accéder à ces revendications personnalisées au moyen de l’objet event.refresh_token.metadata et les appliquer aux nouveaux jetons d’actualisation émis au moyen de l’objet api.accessToken.setCustomClaim().

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

Les métadonnées du jeton d’actualisation et les métadonnées de session vous permettent de mettre en place une sécurité adaptative en suivant et en comparant les données contextuelles tout au long de la session d’un utilisateur, y compris les rotations de jetons d’actualisation et les requêtes d’authentification silencieuse. En mettant en place 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 de contexte de l’utilisateur, ce qui réduit le risque de détournement de session et d’accès non autorisé.
  • Réduire les irritants pour les utilisateurs légitimes en ne demandant la 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 à une exigence systématique de MFA.
Configurez un déclencheur d’Action post-login pour repérer 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 ultérieur peut appliquer une évaluation du risque et des réponses adaptatives.

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

Vous pouvez utiliser les endpoints GET de l’Auth0 Management API /api/v2/refresh-tokens/{id} et /api/v2/sessions/{id} 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 comprend le champ metadata, qui contient les données stockées :

En savoir plus