Passer au contenu principal
Les métadonnées de session rendent les données contextuelles de l’utilisateur portables et visibles tout au long du cycle de vie de la session, ainsi que dans les événements de déconnexion. Les systèmes en aval peuvent utiliser les métadonnées de session pour effectuer des audits, faire des analyses et appliquer des pipelines de révocation, entre autres.
Les métadonnées de session d’Auth0 ne constituent pas un espace de stockage sécurisé et ne doivent pas servir à stocker des renseignements sensibles. Cela inclut les secrets et les renseignements personnels à haut risque, comme les 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. Pour en savoir plus, consultez Conformité d’Auth0 au Règlement général sur la protection des données.

Ajouter les informations de l’organisation aux métadonnées de la session

Vous pouvez utiliser Actions pour stocker les identifiants de l’organisation dans une session à l’aide de la méthode api.session.setMetadata() du déclencheur post-login, puis les interroger avec l’objet event.session.metadata. Code de l’Action Post-Login :
/**
 * Action Post-Login (simple)
 * Ajoute le contexte de l'organisation aux métadonnées de session afin qu'il apparaisse dans les Actions suivantes,
 * la Management API, et (si activé) le jeton de déconnexion par canal arrière.
 */
exports.onExecutePostLogin = async (event, api) => {
  // Continuer seulement si la transaction cible une Organisation
  if (!event.organization) return;

  // Conserver des valeurs courtes et en chaînes uniquement (les métadonnées de session exigent des chaînes)
  const orgId = String(event.organization.id || "");
  const orgSlug = String(event.organization.name || "");
  const orgDisplay = String(event.organization.display_name || orgSlug);

  // Écritures minimales et idempotentes (quelques clés seulement pour rester bien en dessous des limites)
  api.session.setMetadata("org_id", orgId);
  api.session.setMetadata("org_slug", orgSlug);
  api.session.setMetadata("org_name", orgDisplay);
};
Les métadonnées de session sont disponibles pour les Actions ultérieures, peuvent être récupérées au moyen de la Management API et peuvent être incluses dans le jeton de déconnexion en canal arrière OpenID Connect.
  • Dans les Actions ultérieures, vous pouvez interroger les données à l’aide de l’objet event.session.metadata :
const orgId = event.session.metadata?.org_id;
  • Si vous utilisez le Management API, vous pouvez interroger les données au moyen du point de terminaison /api/v2/sessions/ :
GET /api/v2/sessions/{id}
Exemple de réponse :
{
  "session_metadata": {
    "org_id": "org_abc123",
    "org_slug": "acme",
    "org_name": "Acme Corp"
  }
}
Les appels au point de terminaison /api/v2/sessions/{id} nécessitent un jeton d’accès pour la Management API avec le scope update:session.
{
  "events": { "http://schemas.openid.net/event/backchannel-logout": {} },
  "session_metadata": {
    "org_id": "org_abc123",
    "org_slug": "acme",
    "org_name": "Acme Corp"
  }
}