> ## 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écrit comment configurer OIDC Back-Channel Logout pour vos services Auth0.

# Configurer OIDC Back-Channel Logout

<Card title="Avant de commencer">
  Pour utiliser Back-Channel Logout, votre application doit respecter les exigences suivantes :

  * Le point de terminaison URI d’OIDC Back-Channel Logout doit être accessible sur Internet afin que votre tenant Auth0 puisse y accéder.
  * Les applications prêtes pour la production doivent utiliser TLS. Pour en savoir plus, consultez [Versions TLS (SSL) et algorithmes de chiffrement](/docs/fr-ca/customize/custom-domains/self-managed-certificates/tls-ssl).
  * L’application doit pouvoir stocker l’identifiant de session (`sid`) fourni et l’associer aux sessions utilisateur qu’elle crée. Nous recommandons aux applications de production d’utiliser un stockage de session persistant.
  * L’application doit pouvoir récupérer une session existante à l’aide du `sid` pendant le processus de logout, sans utiliser de cookies côté client. Les cookies se trouvent dans le navigateur et sont inaccessibles au point de terminaison de rappel du logout.
</Card>

<div id="availability">
  ## Disponibilité
</div>

OIDC Back-Channel Logout est offert à tous les clients du forfait Enterprise. Vérifiez le point de terminaison de métadonnées standard OIDC `/.well-known/*` pour déterminer si votre application répond aux exigences.

```json lines theme={null}
GET https://acme.eu.auth0.com/.well-known/openid-configuration

HTTP 200
{ ..., "backchannel_logout_supported": true, 
  "backchannel_logout_session_supported": true }
```

<div id="back-channel-logout-restrictions">
  ## Restrictions liées à Back-Channel Logout
</div>

Les URL de Back-Channel Logout sont invoquées sur des endpoints accessibles publiquement et doivent respecter certaines restrictions :

1. Vous devez utiliser le protocole HTTPS. Le protocole HTTP non chiffré ou tout autre protocole n’est pas autorisé.
2. Vous ne devez pas utiliser de sous-domaines Auth0. Voici quelques sous-domaines Auth0 :

   * auth0.com
   * auth0app.com
   * webtask.io
   * webtask.run
3. Nous ne recommandons pas d’utiliser des adresses IP sans nom de domaine. Pour utiliser Back-Channel Logout, les adresses IP doivent être publiques. Les adresses IP provenant de plages internes, réservées ou de bouclage ne sont pas autorisées.

<div id="configure-auth0">
  ## Configurer Auth0
</div>

Enregistrez votre application pour recevoir des jetons de déconnexion via <Tooltip tip="Auth0 Dashboard : le principal produit Auth0 pour configurer vos services." cta="Consulter le glossaire" href="/docs/fr-ca/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> ou <Tooltip tip="Auth0 Dashboard : le principal produit Auth0 pour configurer vos services." cta="Consulter le glossaire" href="/docs/fr-ca/glossary?term=Management+API">Management API</Tooltip>.

<Tabs>
  <Tab title="Auth0 Dashboard">
    #### Abonnement des applications

    1. Accédez à [**Auth0 Dashboard > Applications**](https://manage.auth0.com/#/applications).
    2. Choisissez l’application que vous voulez enregistrer.
    3. Sélectionnez l’onglet **Settings**.
    4. Sous **OpenID Connect Back-Channel Logout > Back-Channel Logout URI**, ajoutez l’URI de déconnexion de l’application qui recevra les logout\_tokens
    5. Une fois terminé, sélectionnez **Save Changes**.

           <Frame>
             <img src="https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/0564bfeda05bc7df90af9e8ee852047f/Screenshot_2024-11-05_at_13.31.54.png?fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=6538e592994c10bdc8dd65536c4c6f2c" alt="Auth0 Dashboard > Applications > Settings" data-og-width="1404" width="1404" data-og-height="247" height="247" data-path="docs/images/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/0564bfeda05bc7df90af9e8ee852047f/Screenshot_2024-11-05_at_13.31.54.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/0564bfeda05bc7df90af9e8ee852047f/Screenshot_2024-11-05_at_13.31.54.png?w=280&fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=423109d4a9384fbf7108efb34da57d64 280w, https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/0564bfeda05bc7df90af9e8ee852047f/Screenshot_2024-11-05_at_13.31.54.png?w=560&fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=8d6c0c7e568b4e0eaed96e42607eb44e 560w, https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/0564bfeda05bc7df90af9e8ee852047f/Screenshot_2024-11-05_at_13.31.54.png?w=840&fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=3eb8d56af67a9f7e485cf33d064541bb 840w, https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/0564bfeda05bc7df90af9e8ee852047f/Screenshot_2024-11-05_at_13.31.54.png?w=1100&fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=9a23291fc2b7c78ce2fc662cd51d4feb 1100w, https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/0564bfeda05bc7df90af9e8ee852047f/Screenshot_2024-11-05_at_13.31.54.png?w=1650&fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=5f8a486ee4c06170dd4c89e0396b62f1 1650w, https://mintcdn.com/translations/raZlN0BXDjNonwyb/docs/images/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/0564bfeda05bc7df90af9e8ee852047f/Screenshot_2024-11-05_at_13.31.54.png?w=2500&fit=max&auto=format&n=raZlN0BXDjNonwyb&q=85&s=bee42fb945264d2ae006f7a43e224229 2500w" />
           </Frame>

    #### Désabonnement des applications

    Lorsque vous désabonnez votre application, le service cesse de suivre les nouvelles connexions et d’envoyer des événements de déconnexion. Le service supprime les événements de déconnexion en attente une fois votre application désabonnée.

    Pour désabonner votre application, supprimez l’URL de déconnexion back-channel.

    1. Accédez à [Auth0 Dashboard > Applications](http://manage.auth0.com/#/applications).
    2. Choisissez l’application que vous voulez désabonner.
    3. Sélectionnez l’onglet **Settings**.
    4. Sous **OpenID Connect Back-Channel Logout > Back-Channel Logout URI**
    5. Supprimez l’URL back-channel.
    6. Une fois terminé, sélectionnez **Save Changes**.

           <Frame>
             <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/9b69eb926e44c35b426daa76a851a5db/Screenshot_2024-11-05_at_13.31.54.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=92847024160803c3903aac1374d68d4b" alt="Auth0 Dashboard > Applications > Settings" data-og-width="1404" width="1404" data-og-height="247" height="247" data-path="docs/images/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/9b69eb926e44c35b426daa76a851a5db/Screenshot_2024-11-05_at_13.31.54.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/9b69eb926e44c35b426daa76a851a5db/Screenshot_2024-11-05_at_13.31.54.png?w=280&fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=3558746e6e5c4aef5a563c91ae898029 280w, https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/9b69eb926e44c35b426daa76a851a5db/Screenshot_2024-11-05_at_13.31.54.png?w=560&fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=27ccd261ba6f0d22fe1d68d3913f00b9 560w, https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/9b69eb926e44c35b426daa76a851a5db/Screenshot_2024-11-05_at_13.31.54.png?w=840&fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=823303dba74ee17801e1bf3e59139aff 840w, https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/9b69eb926e44c35b426daa76a851a5db/Screenshot_2024-11-05_at_13.31.54.png?w=1100&fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=364fd215f62322f037fdcab550b87e8b 1100w, https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/9b69eb926e44c35b426daa76a851a5db/Screenshot_2024-11-05_at_13.31.54.png?w=1650&fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=55ae12758acf431f1779c4c4c027b96c 1650w, https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/9b69eb926e44c35b426daa76a851a5db/Screenshot_2024-11-05_at_13.31.54.png?w=2500&fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=9abd3fdb9df0409503f66761a7730603 2500w" />
           </Frame>

    À des fins d’audit, le service consigne toujours l’abonnement ou le désabonnement des URL de déconnexion back-channel sous forme d’`API Operation Event` dans les journaux du tenant Auth0. Pour en savoir plus, consultez [Logs](/docs/fr-ca/deploy-monitor/logs).
  </Tab>

  <Tab title="Management API">
    #### Abonnement d’une application

    Ajoutez la propriété `oidc_logout` pour envoyer une requête `PATCH` au client via la Management API :

    ```bash cURL lines theme={null}
    PATCH /api/v2/clients/{id}
    "oidc_logout": {
      "backchannel_logout_urls": ["http://acme.eu.auth0.com/events"]
    }
    ```

    <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
      La requête peut inclure les autres paramètres de l’application.
    </Callout>

    #### Désabonnement d’une application

    Supprimez le paramètre `oidc_logout` :

    ```bash cURL lines theme={null}
    PATCH https://acme.eu.auth0.com/api/v2/clients/{id}
    {
      "oidc_logout": {
        "backchannel_logout_urls": []
      }
    }
    ```
  </Tab>
</Tabs>

<div id="configure-your-application">
  ## Configurez votre application
</div>

Une fois que vous avez configuré Back-Channel Logout dans l’Auth0 Dashboard ou au moyen de la Management API, configurez votre application pour utiliser le service en fonction de la technologie ou du framework.

1. Implémentez l’authentification de l’utilisateur final selon votre type d’application.

   1. Les utilisateurs finaux doivent pouvoir se connecter à l’application, et une session doit être créée.
   2. Un ID token doit être émis par Auth0 et accessible dans le backend de l’application pour un traitement ultérieur.
2. Étendez le processus de connexion pour enregistrer les claims `sid` et, facultativement, `sub` après avoir validé l’ID token.

   1. Ces claims doivent être enregistrés dans la session d’application en cours.
   2. Les fonctions de gestion de session doivent pouvoir récupérer une session précise à partir de la valeur `sid`.
3. Configurez le point de terminaison de Back-Channel Logout :

   1. Le point de terminaison ne doit traiter que les requêtes `HTTP POST`.
   2. Extrayez le paramètre `logout_token` et validez-le comme un JWT ordinaire conformément à la spécification.
   3. Vérifiez que le token contient un claim d’événements avec une valeur de type objet JSON et un membre nommé `http://schemas.openid.net/event/backchannel-logout`.
   4. Vérifiez que le token contient les claims `sid` et/ou `sub`.
   5. Vérifiez que le token ne contient PAS le claim `nonce`. Cela est nécessaire pour prévenir les abus en distinguant le Logout Token de l’ID token.
   6. Une fois le token validé, récupérez la session correspondant à la valeur `sid` et/ou `sub` reçue, puis terminez-la. Le processus exact de terminaison de la session d’application dépend des détails de la mise en œuvre. Par exemple, il peut être nécessaire de communiquer cet événement au front-end.

<div id="oidc-back-channel-logout-request-example">
  ## Exemple de demande de Back-Channel Logout OIDC
</div>

Charge utile du jeton codée :

```bash cURL lines theme={null}
POST /backchannel-logout HTTP/1.1
Host: rp.example.org
Content-Type: application/x-www-form-urlencoded

logout_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImdwY3ZFT0FPREE2T3pXRmw3ODVxbCJ9.eyJpc3MiOiJodHRwczovL2FydGV4LWRldi5ldS5hdXRoMC5jb20vIiwic3ViIjoiYXV0aDB8NjAyZTkzZGI4M2ZhNmYwMDc0OWEyM2U2IiwiYXVkIjoiVHVoTkx2N3VsWEQzUmZ5TGxTTWJPdnN6endKSkZQcE8iLCJpYXQiOjE2OTgxNjA5MjgsImV4cCI6MTY5ODE2MTA0OCwianRpIjoiNDRhOTEyMTUtZGZiNC00ZGZlLWExZWItZmNhZmE5MTFkZWJhIiwiZXZlbnRzIjp7Imh0dHA6Ly9zY2hlbWFzLm9wZW5pZC5uZXQvZXZlbnQvYmFja2NoYW5uZWwtbG9nb3V0Ijp7fX0sInRyYWNlX2lkIjoiODFiMzM2YTk0YTRhNTcwNyIsInNpZCI6IjM3NVVJcF9JRDVtQ1RDbEllQkVIcFhmR3dxNTF0Rl9MIn0.aEoAL_U-EPlf3f7Fup-bu7Yv0S0GOnrkL8Njd6j6UNqZcr5VrWWFf3CWvkRi7Cm6wMgU2qIMhb7643ca8-ajR7zHlMu0Z3r-gfd2D1xudKLyUSC3v2D5WJZz5I8xMZ_LWtIN2W3l4SQFO9MgK_7F3x0WIWXo9KPC9tgOaOLPnsiv__MutM1ZakoCsJPddl5gVM4TYtHOue6WM7SOXZNa3SSiv57YQOX2KNCL7sWmZp_J1OXKy8lsgkNFqiOVwu39p4sgjKYEXQU0G-I0yY_aeNbnlnxFG6OuxaDt_zwg6AvKglLSNGqrrvzy4GsYJi5HMGZ1GsSs7rQLg7Iuu6JM-A
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Le token expire après 2 minutes (120 sec).
</Callout>

Token payload décodé :

```json JSON lines theme={null}
{
   "iss": "https://artex-dev.eu.auth0.com/",
   "sub": "auth0|602e93db83fa6f00749a23e6",
   "aud": "TuhNLv7ulXD3RfyLlSMbOvszzwJJFPpO",
   "iat": 1698160928,
   "exp": 1698161048,
   "jti": "44a91215-dfb4-4dfe-a1eb-fcafa911deba",
   "events": {
         "http://schemas.openid.net/event/backchannel-logout": {}
   },
   "trace_id": "81b336a94a4a5707",
   "sid": "375UIp_ID5mCTClIeBEHpXfGwq51tF_L"
}
```

<div id="expected-responses">
  ## Réponses attendues
</div>

* **HTTP 200**:  Confirme la déconnexion de l’utilisateur de l’application en question.
* **HTTP 400**: Indique une requête incorrecte. La requête n’est pas comprise ou le jeton n’a pas réussi la validation. Auth0 consigne le problème dans les journaux du tenant, mais ne tente pas d’autres requêtes pour cette session précise.

<div id="troubleshoot-issues">
  ## Résolution des problèmes
</div>

<div id="application-did-not-receive-the-logout-events">
  ### L’application n’a pas reçu les événements de déconnexion
</div>

Si votre application n’a pas reçu de requête de déconnexion à la suite d’un événement de déconnexion.

1. Assurez-vous que votre application dispose d’une URL de Back-Channel Logout enregistrée dans Auth0 Dashboard.
2. Assurez-vous que l’URL de Back-Channel Logout peut être atteinte depuis le tenant Auth0.
3. Assurez-vous qu’une session valide est établie. L’utilisateur final doit se connecter à cette application au moyen d’Auth0.

   <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
     Les applications reçoivent des événements de déconnexion uniquement si les utilisateurs finaux se connectent à cette application avec Auth0. Si l’utilisateur final se connecte à d’autres applications, aucun événement de déconnexion n’est déclenché.
   </Callout>
4. Vérifiez les journaux du tenant Auth0 pour y repérer des messages indiquant un échec de remise du message de déconnexion.
5. Assurez-vous que la déconnexion est déclenchée par le point de terminaison de déconnexion standard. Les autres événements ne déclenchent pas les événements de déconnexion.
6. Si possible, vérifiez s’il y a des requêtes bloquées dans les journaux du serveur Web et/ou du pare-feu de l’application.

<div id="i-cant-find-oidc-back-channel-logout-tenant-logs">
  #### Je ne trouve pas le journal du tenant d’OIDC Back-Channel Logout
</div>

Cette fonctionnalité sera déployée progressivement auprès de tous les tenants à partir du 3 octobre 2023. Il se peut que vous voyiez encore les [codes d’événement du journal du tenant](/docs/fr-ca/deploy-monitor/logs/log-event-type-codes) `sslo` pour `oidc_backchannel_logout_succeeded` ou `fslo` pour `oidc_backchannel_logout_failed`.

<div id="client-app-cannot-verify-the-received-logout-token">
  ### L’application cliente ne peut pas vérifier le Logout Token reçu
</div>

Si la transaction échoue toujours avec une erreur 400 :

1. Vérifiez si le jeton est un JWT standard encodé en base64. Certains serveurs Web peuvent tronquer les paramètres longs. Pour en savoir plus, consultez [Signing Algorithms](/docs/fr-ca/get-started/applications/signing-algorithms).
2. Si possible, capturez un jeton et vérifiez qu’il s’agit bien d’un JWT. Utilisez une source fiable, comme [JWT.IO](http://jwt.io).
3. Assurez-vous que la fonction de vérification récupère dynamiquement la clé de signature du tenant au moyen de [JSON Web Key Sets](/docs/fr-ca/secure/tokens/json-web-tokens/json-web-key-sets) (JWKS).

   <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
     Nous ne recommandons pas de coder en dur une clé statique. Si votre configuration exige qu’une clé statique soit codée en dur, assurez-vous qu’elle contient la clé publique la plus récente du tenant Auth0.
   </Callout>

<div id="response-timeout-errors">
  ### Erreurs de délai d’attente de réponse
</div>

Auth0 attendra cinq secondes pour que l’URL de Back-Channel Logout OIDC de l’application réponde. Passé ce délai, il consignera une « Failed demande de Back-Channel Logout OIDC » dans les journaux du tenant, avec une description de réponse vide.

<div id="learn-more">
  ## En savoir plus
</div>

* [Déconnecter les utilisateurs d’Auth0 à l’aide du point de terminaison OIDC](/docs/fr-ca/authenticate/login/logout/log-users-out-of-auth0)
* [Déconnecter les utilisateurs des applications](/docs/fr-ca/authenticate/login/logout/log-users-out-of-applications)
* [Déconnecter les utilisateurs des fournisseurs d’identité](/docs/fr-ca/authenticate/login/logout/log-users-out-of-idps)
