Passer au contenu principal
Pour configurer les métadonnées de session, vous pouvez utiliser une Post-Login Action Auth0 ainsi que la Management API. Vous pouvez aussi les inclure dans le jeton de déconnexion par canal arrière d’OpenID Connect.
Les métadonnées de session Auth0 ne sont pas un espace de stockage de données sécurisé et ne doivent pas être utilisées pour stocker des renseignements sensibles. Cela comprend 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 ne conserver que celles qui sont nécessaires à des fins de gestion des identités et des accès. Pour en savoir plus, consultez la conformité d’Auth0 au RGPD.

Auth0 Management API

Vous pouvez gérer les requêtes CRUD (créer, remplacer, mettre à jour, supprimer) sur les métadonnées de session à l’aide de la Management API :
Les appels au point de terminaison /api/v2/sessions/{id} nécessitent un jeton d’accès de la Management API avec le scope update:session.

Récupérer les métadonnées d’une session existante

Effectuez une requête GET vers le point de terminaison /api/v2/sessions/{id} :
GET /api/v2/sessions/{id}

Ajouter ou mettre à jour les métadonnées d’une session existante

Envoyez une requête PATCH au point de terminaison /api/v2/sessions/{id} :
PATCH /api/v2/sessions/{id}
Content-Type: application/json

{
  "session_metadata": {
    "my_metadata": "my new metadata"
  }
}

Supprimer les métadonnées de la session

Envoyez une requête PATCH au point de terminaison /api/v2/sessions/{id} :
PATCH /api/v2/sessions/{id}
Content-Type: application/json

{
  "session_metadata": {}
}

Actions post-login d’Auth0

Vous pouvez gérer les opérations CRUD des métadonnées de session au moyen des objets api.session dans une Post-Login Action. Cela vous permet de gérer les métadonnées de session selon une logique propre à l’utilisateur ou au contexte.

Récupérer les métadonnées d’une session existante

Utilisez l’objet event.session.metadata?.deviceName pour lire la métadonnée deviceName :
const device = event.session.metadata?.deviceName;
L’objet event.session.metadata comprend les métadonnées définies dans : *les Actions précédentes du même flux *les transactions précédentes si la session a été réutilisée

Ajouter ou mettre à jour des métadonnées existantes

Utilisez la méthode api.session.setMetadata() pour mettre à jour les métadonnées de session :
api.session.setMetadata("deviceName", "Auth0's iPhone");
Les modifications sont immédiatement disponibles dans l’objet event.session lors des Actions suivantes.

Supprimer les métadonnées de session

Utilisez les objets api.session suivants pour supprimer les métadonnées de session :
  • api.session.deleteMetadata("key") supprime les métadonnées de session spécifiées
  • api.session.evictMetadata() supprime toutes les métadonnées de session
Pour en savoir plus sur ces objets, consultez :
  • Objet d’événement : découvrez l’objet d’événement du jeton d’actualisation et ses propriétés.
  • Objet API : découvrez l’objet API du jeton d’actualisation et ses méthodes.

Déconnexion OIDC par canal arrière

Vous pouvez configurer le logout_token pour inclure des métadonnées de session à l’aide de l’Auth0 Dashboard ou de la Management API.

Auth0 Dashboard

Pour configurer le jeton de déconnexion OIDC par canal arrière avec des métadonnées de session :
  1. Accédez à Dashboard > Applications et sélectionnez votre application.
  2. Sélectionnez l’onglet Settings.
  3. Sous déconnexion par canal arrière d’OpenID Connect > Back-Channel Logout URL, ajoutez l’URI de déconnexion de l’application qui recevra les logout_tokens.
  4. Réglez Back-Channel Logout Initiators sur l’une de ces options :
    • Selected initiators only ou
    • All supported initiators
  5. Activez Include Session Metadata.
  6. Sélectionnez Save Changes.
Une fois la configuration terminée, le logout_token inclura toutes les métadonnées de session enregistrées.

Auth0 Management API

Vous pouvez utiliser le point de terminaison /api/v2/clients/{id} pour mettre à jour votre application afin d’inclure les métadonnées de session dans le logout_token. Effectuez une requête PATCH au point de terminaison /api/v2/sessions/{id} :
"oidc_backchannel_logout": {
  "backchannel_logout_initiators": {
    "mode": "all"
  },
  "backchannel_logout_urls": [
    "https://httpdump.app/inspect/9bccf574-e55f-4b2e-9822-f37372588fc1"
  ],
  "backchannel_logout_session_metadata": {
    "include": true
  }
}

Gestion des erreurs

Vous pouvez consulter les événements de journalisation des métadonnées de session en accédant à Auth0 Dashboard > Surveillance > Journaux ou récupérer les journaux au moyen du point de terminaison journaux de la Management API.
  • Si une erreur survient lors de l’ajout ou de la mise à jour des métadonnées de session avec Actions, la transaction d’authentification échoue et une erreur est renvoyée à l’URL de callback.
Un code d’événement d’échec f est consigné avec l’erreur correspondante :
{
  "error": "access_denied",
  "error_description": "Failed to set session metadata: Invalid metadata: Metadata keys may only include letters, numbers, underscores, or hyphens",
  "state": "my-custom-state"
}
  • Si une erreur survient lors de la gestion des métadonnées de session avec l’Auth0 Management API, l’API renvoie une erreur HTTP status: 400 ainsi que le message correspondant :
{
  "statusCode": 400,
  "message": "Metadata must not exceed 25 entries. Each key and value must be ≤ 255 characters."
}