> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Découvrez comment configurer les métadonnées de session Auth0

# Configurer les métadonnées de session

Pour configurer les métadonnées de session, vous pouvez utiliser une [Post-Login Action](/fr-CA/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger) Auth0 ainsi que la [Management API](https://auth0.com/docs/api/management/v2). Vous pouvez aussi les inclure dans le jeton de [déconnexion par canal arrière d’OpenID Connect](/fr-CA/docs/authenticate/login/logout/back-channel-logout).

<Warning>
  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](/fr-CA/docs/secure/data-privacy-and-compliance/gdpr).
</Warning>

## 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 :

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Les appels au point de terminaison `/api/v2/sessions/{id}` nécessitent un [jeton d’accès de la Management API](/fr-CA/docs/secure/tokens/access-tokens) avec le `scope` `update:session`.
</Callout>

<div id="retrieve-existing-session-metadata">
  ### Récupérer les métadonnées d’une session existante
</div>

Effectuez une requête `GET` vers le point de terminaison [`/api/v2/sessions/{id}`](https://auth0.com/docs/api/management/v2/sessions/get-session) :

```bash lines theme={null}
GET /api/v2/sessions/{id}
```

<div id="add-or-update-existing-session-metadata">
  ### Ajouter ou mettre à jour les métadonnées d’une session existante
</div>

Envoyez une requête `PATCH` au point de terminaison [`/api/v2/sessions/{id}`](https://auth0.com/docs/api/management/v2/sessions/patch-sessions-by-id) :

```bash lines theme={null}
PATCH /api/v2/sessions/{id}
Content-Type: application/json

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

<div id="delete-session-metadata">
  ### Supprimer les métadonnées de la session
</div>

Envoyez une requête `PATCH` au point de terminaison [`/api/v2/sessions/{id}`](https://auth0.com/docs/api/management/v2/sessions/patch-sessions-by-id) :

```bash lines theme={null}
PATCH /api/v2/sessions/{id}
Content-Type: application/json

{
  "session_metadata": {}
}
```

<div id="auth0-post-login-actions">
  ## Actions post-login d’Auth0
</div>

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](/fr-CA/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger). Cela vous permet de gérer les métadonnées de session selon une logique propre à l’utilisateur ou au contexte.

<div id="retrieve-existing-session-metadata">
  ### Récupérer les métadonnées d’une session existante
</div>

Utilisez l’objet `event.session.metadata?.deviceName` pour lire la métadonnée `deviceName` :

```javascript lines theme={null}
const device = event.session.metadata?.deviceName;
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  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
</Callout>

<div id="add-or-update-existing-metadata">
  ### Ajouter ou mettre à jour des métadonnées existantes
</div>

Utilisez la méthode `api.session.setMetadata()` pour mettre à jour les métadonnées de session :

```javascript lines theme={null}
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](/fr-CA/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-event-object) : découvrez l’objet d’événement du jeton d’actualisation et ses propriétés.
* [Objet API](/fr-CA/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-api-object) : découvrez l’objet API du jeton d’actualisation et ses méthodes.

<div id="oidc-back-channel-logout">
  ## Déconnexion OIDC par canal arrière
</div>

Vous pouvez configurer le `logout_token` pour inclure des métadonnées de session à l’aide de l’[Auth0 Dashboard](/fr-CA/docs/get-started/auth0-overview/dashboard) ou de la [Management API](https://auth0.com/docs/api/management/v2).

<div id="auth0-dashboard">
  ### Auth0 Dashboard
</div>

Pour configurer le jeton de déconnexion OIDC par canal arrière avec des métadonnées de session :

1. Accédez à [Dashboard > Applications](https://manage.auth0.com/#/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.

<div id="auth0-management-api">
  ### Auth0 Management API
</div>

Vous pouvez utiliser le point de terminaison [`/api/v2/clients/{id}`](https://auth0.com/docs/api/management/v2/sessions/patch-sessions-by-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}`](https://auth0.com/docs/api/management/v2/sessions/patch-sessions-by-id) :

```json lines theme={null}
"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
  }
}
```

<div id="error-handling">
  ## Gestion des erreurs
</div>

Vous pouvez consulter les événements de journalisation des métadonnées de session en accédant à [Auth0 Dashboard > Surveillance > Journaux](https://manage.auth0.com/#/logs) ou récupérer les journaux au moyen du point de terminaison [journaux de la Management API](/fr-CA/docs/api/management/v2/logs/get-logs).

* 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 :

```json lines theme={null}
{
  "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 :

```json lines theme={null}
{
  "statusCode": 400,
  "message": "Metadata must not exceed 25 entries. Each key and value must be ≤ 255 characters."
}
```
