Passer au contenu principal
Les métadonnées de session sont actuellement en accès anticipé et réservées aux clients Enterprise. En utilisant cette fonctionnalité, vous acceptez les conditions applicables de période d’essai gratuite prévues dans le Master Subscription Agreement d’Okta. Pour en savoir plus sur le cycle de publication des produits Auth0, consultez la page Product Release Stages.
Pour configurer les métadonnées de session, vous pouvez utiliser une Action Post-Login Auth0 et la Management API. Vous pouvez aussi les inclure dans le jeton OpenID Connect Back-Channel Logout.

Auth0 Management API

Vous pouvez gérer les opérations CRUD (création, remplacement, mise à jour, suppression) 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 pour la Management API avec la portée update:session.

Récupérer les métadonnées de session existantes

Envoyez une requête GET au point de terminaison /api/v2/sessions/{id} :
GET /api/v2/sessions/{id}

Ajouter ou mettre à jour les métadonnées de session existantes

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 session

Envoyez une requête PATCH à l’endpoint /api/v2/sessions/{id} :
PATCH /api/v2/sessions/{id}
Content-Type: application/json

{
  "session_metadata": {}
}

Actions Auth0 post-connexion

Vous pouvez gérer les opérations CRUD sur les métadonnées de session à l’aide des objets api.session avec une Action post-connexion. Cela vous permet de gérer les métadonnées de session en fonction d’une logique propre à l’utilisateur ou au contexte.

Récupérer les métadonnées de session existantes

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

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

Utilisez la méthode api.session.setMetadata() pour mettre à jour les métadonnées de la session :
api.session.setMetadata("deviceName", "Auth0's iPhone");
Les modifications sont immédiatement disponibles dans l’objet event.session dans les 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 Event : découvrez l’objet Event 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 back-channel OIDC

Vous pouvez configurer le logout_token pour inclure des métadonnées de session en utilisant le Dashboard Auth0 ou la Management API.

Auth0 Dashboard

Pour configurer le jeton de déconnexion OIDC Back-Channel avec les métadonnées de session :
  1. Accédez à Dashboard > Applications et sélectionnez votre Application.
  2. Sélectionnez l’onglet Settings.
  3. Sous OpenID Connect Back-Channel Logout > Back-Channel Logout URL, ajoutez l’URI de déconnexion de l’Application qui recevra les logout_tokens.
  4. Définissez Back-Channel Logout Initiators sur l’une des options suivantes :
    • Selected initiators only ou
    • All supported initiators
  5. Activez Include Session Metadata.
  6. Sélectionnez Save Changes.
Une fois configuré, le logout_token inclura toutes les métadonnées de session stockées.

Auth0 Management API

Vous pouvez utiliser le point de terminaison /api/v2/clients/{id} pour mettre à jour votre application et inclure les métadonnées de session dans le logout_token. Envoyez 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 journal des métadonnées de session en accédant à Dashboard > Monitoring > Logs ou récupérer les journaux à l’aide du point de terminaison Management API logs.
  • Si une erreur se produit 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 retour.
Un code d’événement d’échec f est consigné avec l’erreur correspondante :
{
  "error": "access_denied",
  "error_description": "Échec de la définition des métadonnées de session : Métadonnées non valides : Les clés de métadonnées ne peuvent inclure que des lettres, des chiffres, des traits de soulignement ou des traits d'union",
  "state": "my-custom-state"
}
  • En cas d’échec lors de la gestion des métadonnées de session à l’aide de l’Auth0 Management API, l’API renvoie une erreur HTTP status: 400 et le message correspondant :
{
  "statusCode": 400,
  "message": "Les métadonnées ne doivent pas dépasser 25 entrées. Chaque clé et valeur ne doit pas dépasser 255 caractères."
}