> ## 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 à l’aide d’Actions et de la Management API.

# Configurer les métadonnées de session

Pour configurer les métadonnées de session, vous pouvez utiliser une [Action Post Login](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger) Auth0 et la [Management API](https://auth0.com/docs/api/management/v2). Vous pouvez également les inclure dans le jeton de [OpenID Connect Back-Channel Logout](/docs/fr-ca/authenticate/login/logout/back-channel-logout).

<Warning>
  Les métadonnées de session Auth0 ne constituent pas un stockage de données sécurisé et ne doivent pas être utilisées pour stocker des renseignements sensibles. Cela comprend les secrets et les PII à haut risque, comme les numéros d’assurance sociale ou de carte de crédit. Les clients Auth0 sont fortement encouragés à évaluer les données stockées dans les métadonnées et à 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 Règlement général sur la protection des données](/docs/fr-ca/secure/data-privacy-and-compliance/gdpr).
</Warning>

## Auth0 Management API

Vous pouvez gérer les requêtes CRUD (création, remplacement, mise à jour et suppression) des métadonnées de session à l’aide de la Management API :

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

<div id="retrieve-existing-session-metadata">
  ### Récupérer les métadonnées de session existantes
</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 de session existantes
</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 session
</div>

Effectuez une requête `PATCH` vers l’endpoint [`/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 effectuer des opérations CRUD sur les métadonnées de session à l’aide des objets `api.session` avec une [Action post-login](/docs/fr-ca/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 de session existantes
</div>

Utilisez l’objet `event.session.metadata?.deviceName` pour consulter 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` contient les métadonnées définies dans :
  \*les Actions précédentes du même flux
  \*des transactions antérieures 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 au sein de l’objet `event.session` dans les Actions suivantes.

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

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 indiquées

* `api.session.evictMetadata()` supprime toutes les métadonnées de session

Pour en savoir plus sur ces objets, consultez :

* [Objet Event](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-event-object) : Découvrez l’objet Event du Refresh Token et ses propriétés.
* [Objet API](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-api-object) : Découvrez l’objet API du Refresh Token et ses méthodes.

<div id="oidc-back-channel-logout">
  ## OIDC Back-Channel Logout
</div>

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

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

Pour configurer le jeton OIDC Back-Channel Logout 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 **OpenID Connect Back-Channel Logout > Back-Channel Logout URL**, ajoutez l’URI de logout de l’application qui recevra les `logout_tokens`.

4. Réglez **Back-Channel Logout Initiators** sur l’une des options suivantes :

   * **Selected initiators only** ou

   * **All supported initiators**

5. Activez la bascule **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 stocké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 des métadonnées de session dans le `logout_token`.

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

```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 journal des métadonnées de session en accédant à [Dashboard > Monitoring > Logs](https://manage.auth0.com/#/logs) ou récupérer les journaux à l’aide du point de terminaison [Management API logs](/docs/fr-ca/api/management/v2/logs/get-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 rappel.

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 un échec survient lors de la gestion des métadonnées de session au moyen de 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."
}
```
