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

# Configuration de déconnexion du canal d’appui OIDC

> Décrit comment configurer la déconnexion du canal d’appui OIDC avec vos services Auth0.

<Card title="Avant de commencer">
  Pour utiliser la déconnexion du canal d'appui, votre application doit respecter les exigences suivantes :

  * Votre point de terminaison URI de déconnexion par canal d’appui OIDC doit être exposé sur Internet pour autoriser l’accès de votre locataire Auth0.
  * Les applications prêtes pour la production doivent utiliser TLS. Pour en savoir plus, lisez [Versions et suites cryptographiques TLS (SSL)](/docs/fr-CA/fr-ca/customize/custom-domains/self-managed-certificates/tls-ssl).
  * L’application doit être capable de stocker l’identifiant de session fourni (`sid`) et l’associer avec les sessions d’utilisateur qu’elle crée. Nous recommandons l’utilisation d’un stockage de session durable pour les applications de production.
  * L’application doit être capable de récupérer une session existante par le `sid` pendant le processus de déconnexion, sans utiliser de témoins côté client. Les témoins sont présents dans le navigateur et ne sont pas accessibles par le point de terminaison de rappel de déconnexion.
</Card>

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

La déconnexion du canal d’appui OIDC est disponible pour tous les clients du plan Enterprise. Vous devez vérifier le point de terminaison de métadonnées `/.well-known/*` de la norme OIDC pour déterminer si votre application satisfait aux exigences.

```javascript 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 de la déconnexion du canal d’appui
</div>

Les URL de déconnexion du canal d’appui sont appelées sur des points de terminaison exposés au public et doivent respecter certaines restrictions :

1. Vous devez utiliser les protocoles HTTPS. Les protocoles HTTP non chiffrés ou d’autres protocoles ne sont pas autorisés.
2. Vous ne devez pas utiliser de sous-domaines Auth0. Voici plusieurs sous-domaines Auth0 :

   * auth0.com
   * auth0app.com
   * webtask.io
   * webtask.run
3. Nous ne recommandons pas l’utilisation d’adresses IP sans domaine. Les adresses IP doivent être publiques pour utiliser la déconnexion par canal d’appui. Les adresses IP à portée interne, réservée ou de boucle ne sont pas autorisées.

<div id="configure-auth0">
  ## Configuration d’Auth0
</div>

Enregistrez votre application pour recevoir des jetons de déconnexion via Auth0 Dashboard ou Management API.

<Tabs>
  <Tab title="Auth0 Dashboard">
    #### S’abonner aux applications

    1. Naviguez vers [**Auth0 Dashboard > Applications**](https://manage.auth0.com/#/applications).
    2. Choisissez l’application à laquelle vous voulez vous inscrire.
    3. Sélectionnez l’onglet **Settings (Paramètres)**.
    4. Sous **Déconnexion par canal d'appui OpenID Connect > URI de déconnexion du canal d'appui**, ajoutez l’URI de déconnexion de l’application qui recevra les logout\_tokens
    5. Quand vous aurez terminé, sélectionnez **Save Changes (Enregistrer les modifications)**.

           <Frame>
             <img src="https://mintcdn.com/generaltranslationinc/BynIOvi9RMYsRJQw/docs/images/fr-ca/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/7a95b6aaf756f308fd289d996a77e2c1/Back_Channel_Logout_-_FR_.png?fit=max&auto=format&n=BynIOvi9RMYsRJQw&q=85&s=183837e19efaed3653b7b59cd97ea55f" alt="Auth0 Dashboard > Applications > Settings" data-og-width="1221" width="1221" data-og-height="218" height="218" data-path="docs/images/fr-ca/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/7a95b6aaf756f308fd289d996a77e2c1/Back_Channel_Logout_-_FR_.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/BynIOvi9RMYsRJQw/docs/images/fr-ca/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/7a95b6aaf756f308fd289d996a77e2c1/Back_Channel_Logout_-_FR_.png?w=280&fit=max&auto=format&n=BynIOvi9RMYsRJQw&q=85&s=ed9edfd559a940447333a1dfc28394f5 280w, https://mintcdn.com/generaltranslationinc/BynIOvi9RMYsRJQw/docs/images/fr-ca/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/7a95b6aaf756f308fd289d996a77e2c1/Back_Channel_Logout_-_FR_.png?w=560&fit=max&auto=format&n=BynIOvi9RMYsRJQw&q=85&s=eaf151cb4022fd1cc3b0ffdd3eddb266 560w, https://mintcdn.com/generaltranslationinc/BynIOvi9RMYsRJQw/docs/images/fr-ca/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/7a95b6aaf756f308fd289d996a77e2c1/Back_Channel_Logout_-_FR_.png?w=840&fit=max&auto=format&n=BynIOvi9RMYsRJQw&q=85&s=e27b311c725a755c7c9346d1d66dada7 840w, https://mintcdn.com/generaltranslationinc/BynIOvi9RMYsRJQw/docs/images/fr-ca/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/7a95b6aaf756f308fd289d996a77e2c1/Back_Channel_Logout_-_FR_.png?w=1100&fit=max&auto=format&n=BynIOvi9RMYsRJQw&q=85&s=6a34153ce644fb0165ec2842cd1b6360 1100w, https://mintcdn.com/generaltranslationinc/BynIOvi9RMYsRJQw/docs/images/fr-ca/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/7a95b6aaf756f308fd289d996a77e2c1/Back_Channel_Logout_-_FR_.png?w=1650&fit=max&auto=format&n=BynIOvi9RMYsRJQw&q=85&s=cb45c51ab092dcfdc24787ced7f81a10 1650w, https://mintcdn.com/generaltranslationinc/BynIOvi9RMYsRJQw/docs/images/fr-ca/cdy7uua7fh8z/19uQRkVswdmaO8gHTVTXCc/7a95b6aaf756f308fd289d996a77e2c1/Back_Channel_Logout_-_FR_.png?w=2500&fit=max&auto=format&n=BynIOvi9RMYsRJQw&q=85&s=a04af5112781ede90127f38e1dd46bcb 2500w" />
           </Frame>

    #### Se désabonner des applications

    La désinscription de votre application empêche le service de suivre les nouvelles connexions et d’envoyer des événements de déconnexion. Le service rejette les événements de déconnexion en attente une fois que votre application est désinscrite.

    Pour désabonner l’application, supprimez l’URL de déconnexion du canal d’appui.

    1. Naviguez vers [Auth0 Dashboard > Applications](http://manage.auth0.com/#/applications).
    2. Choisissez l’application à laquelle vous voulez vous inscrire.
    3. Sélectionnez l’onglet **Settings (Paramètres)**.
    4. Sous **Déconnexion par canal d’appui OpenID Connect > URI de déconnexion du canal d’appui**
    5. Retirez l’URL du canal d'appui.
    6. Quand vous aurez terminé, sélectionnez **Save Changes (Enregistrer les modifications)**.

           <Frame>
             <img src="https://mintcdn.com/generaltranslationinc/2HoSdIVVjMeJSj5n/docs/images/fr-ca/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/21c47557293714368c47ece7ad1f3cc3/Back_Channel_Logout_-_FR_.png?fit=max&auto=format&n=2HoSdIVVjMeJSj5n&q=85&s=3ac73fc1b45c0b8bf4badf2e2dad147e" alt="Auth0 Dashboard > Applications > Settings" data-og-width="1221" width="1221" data-og-height="218" height="218" data-path="docs/images/fr-ca/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/21c47557293714368c47ece7ad1f3cc3/Back_Channel_Logout_-_FR_.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/2HoSdIVVjMeJSj5n/docs/images/fr-ca/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/21c47557293714368c47ece7ad1f3cc3/Back_Channel_Logout_-_FR_.png?w=280&fit=max&auto=format&n=2HoSdIVVjMeJSj5n&q=85&s=c08a0a6154f1f173ef32a4c355b1b423 280w, https://mintcdn.com/generaltranslationinc/2HoSdIVVjMeJSj5n/docs/images/fr-ca/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/21c47557293714368c47ece7ad1f3cc3/Back_Channel_Logout_-_FR_.png?w=560&fit=max&auto=format&n=2HoSdIVVjMeJSj5n&q=85&s=3aec77e1087a913672ceb1a3ef2e3b0f 560w, https://mintcdn.com/generaltranslationinc/2HoSdIVVjMeJSj5n/docs/images/fr-ca/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/21c47557293714368c47ece7ad1f3cc3/Back_Channel_Logout_-_FR_.png?w=840&fit=max&auto=format&n=2HoSdIVVjMeJSj5n&q=85&s=e056c4eaa44851d84afa536b30dcad78 840w, https://mintcdn.com/generaltranslationinc/2HoSdIVVjMeJSj5n/docs/images/fr-ca/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/21c47557293714368c47ece7ad1f3cc3/Back_Channel_Logout_-_FR_.png?w=1100&fit=max&auto=format&n=2HoSdIVVjMeJSj5n&q=85&s=877869b59676e4a9df545d9ca164b154 1100w, https://mintcdn.com/generaltranslationinc/2HoSdIVVjMeJSj5n/docs/images/fr-ca/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/21c47557293714368c47ece7ad1f3cc3/Back_Channel_Logout_-_FR_.png?w=1650&fit=max&auto=format&n=2HoSdIVVjMeJSj5n&q=85&s=55d02d4c82b4df084cd7bb87871d0493 1650w, https://mintcdn.com/generaltranslationinc/2HoSdIVVjMeJSj5n/docs/images/fr-ca/cdy7uua7fh8z/5SlrBhwrNbJx0Wdw2kQ19t/21c47557293714368c47ece7ad1f3cc3/Back_Channel_Logout_-_FR_.png?w=2500&fit=max&auto=format&n=2HoSdIVVjMeJSj5n&q=85&s=197fa2720a07f1fc2855ad9d6414d483 2500w" />
           </Frame>

    À des fins de vérification, le service consigne toujours les URL de déconnexion par canal d’appui pour les abonnements ou les désabonnements dans les journaux des locataires d’Auth0 comme des `événements d’opération d’API`. Pour en apprendre plus, lisez [Journaux](/docs/fr-CA/fr-ca/deploy-monitor/logs).
  </Tab>

  <Tab title="Management API">
    #### S’abonner à l’application

    Ajoutez la propriété `oidc_logout` pour effectuer une demande `PATCH` pour un client par l’entremise de Management API :

    ```javascript 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 comprendre les autres paramètres d’application.
    </Callout>

    #### Se désabonner de l’application

    Supprimez le paramètre `oidc_logout` :

    ```javascript 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">
  ## Configuration de votre application
</div>

Une fois que vous avez configuré la déconnexion par canal d’appui via Auth0 Dashboard ou Management API, configurez votre application pour utiliser le service en fonction de la technologie ou du cadre d'applications.

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

   1. Les utilisateurs finaux doivent pouvoir se connecter à l’application et une session doit être créée.
   2. Un jeton d’ID doit être émis par Auth0 et doit être accessible dans le système dorsal de l’application pour un traitement ultérieur.
2. Étendez le processus de connexion pour sauvegarder le `sid` et, éventuellement, les sous-demandes après la validation du jeton d’ID.

   1. Ces demandes doivent être sauvegardées en fonction de la session d’application en cours.
   2. Les fonctions de gestion de session doivent être en mesure de récupérer une session spécifique à l’aide de la valeur `sid`.
3. Configurez le point de terminaison de déconnexion du canal d’appui :

   1. Le point de terminaison doit traiter uniquement les requêtes `HTTP POST`.
   2. Extrayez le paramètre `logout_token` et validez-le en tant que JWT standard conformément à la spécification.
   3. Vérifiez que le jeton contient une demande d’événement avec une valeur d’objet JSON et un membre nommé `http://schemas.openid.net/event/backchannel-logout`.
   4. Vérifiez que le jeton contient les demandes `sid` et/ou `sub`.
   5. Vérifiez que le jeton ne contient PAS la demande `nonce`. Cela est nécessaire pour éviter les abus en distinguant le jeton de déconnexion du jeton d’ID.
   6. Une fois le jeton validé, récupérez la session correspondant à la valeur `sid` et/ou `sub` reçue et mettez-y fin. Le processus exact de clôture de la session de l'application dépend des détails de la mise en œuvre. Par exemple, cet événement peut devoir être communiqué au programme frontal.

<div id="oidc-back-channel-logout-request-example">
  ## Exemple de demande de déconnexion par canal d’appui OIDC
</div>

Charge utile codée de jeton :

```javascript 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 délai d’expiration d’un jeton est de 2 minutes (120 sec).
</Callout>

Charge utile décodée de jeton :

```javascript 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** :  ce protocole confirme la déconnexion de l’utilisateur de l’application spécifique.
* **HTTP 400** : indique une demande incorrecte. La demande n’est pas comprise ou la validation du jeton a échoué. Auth0 enregistre le problème dans les journaux du locataire mais ne tente pas d’autres demandes pour cette session.

<div id="troubleshoot-issues">
  ## Résoudre les 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>

Votre application n’a pas reçu de demande de déconnexion après un événement de déconnexion.

1. Assurez-vous que votre application dispose d’une URL de déconnexion par canal d'appui enregistrée dans Auth0 Dashboard.

2. Assurez-vous que l’URL de déconnexion par canal d'appui est accessible depuis le locataire Auth0.

3. Assurez-vous qu’une session valide est établie. L’utilisateur final doit se connecter à votre application spécifique via Auth0.

   <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
     Les applications reçoivent des événements de déconnexion seulement si les utilisateurs finaux se connectent à cette application spécifique avec Auth0.  Si l’utilisateur final se connecte à d’autres applications, les événements de déconnexion ne sont pas déclenchés.
   </Callout>

4. Vérifiez la présence de messages concernant l'échec de la transmission des messages de déconnexion dans les journaux du locataire Auth0.

5. Assurez-vous que la déconnexion est déclenchée par le point de terminaison standard de déconnexion. D’autres événements ne déclenchent pas d’événements de déconnexion.

6. Si possible, vérifiez si des demandes ont été bloquées sur le serveur Web et/ou dans les journaux du pare-feu de l’application.

7. Confirmez que vous utilisez un certificat valide (non auto-signé) dans le point de terminaison de déconnexion du canal d'appui.

<div id="i-cant-find-oidc-back-channel-logout-tenant-logs">
  #### Je ne trouve pas les journaux de locataire pour la déconnexion du canal d’appui OIDC.
</div>

Cette fonctionnalité est progressivement mise à disposition de tous les locataires depuis le 3 octobre 2023. Vous pouvez toujours recevoir des [codes d’événements de journalisation de locataire](/docs/fr-CA/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 client ne peut pas vérifier le jeton de déconnexion reçu
</div>

Si la transaction échoue toujours avec une erreur 400 :

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

   <Callout icon="file-lines" color="#0EA5E9" iconType="regular">
     Nous ne recommandons pas les clés statiques codées en dur. Si votre configuration nécessite une clé statique codée en dur, assurez-vous que la configuration contient la clé publique la plus récente du locataire Auth0.
   </Callout>

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

Auth0 attendra cinq secondes pour que l’URL de déconnexion par canal d'appui OIDC de l’application réponde. Passé ce délai, un « Échec de requête de déconnexion par canal d’appui OIDC » est enregistré dans les journaux du locataire, avec une description de réponse vide.

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

* [Vérifier les problèmes de connexion et de déconnexion](/docs/fr-CA/fr-ca/troubleshoot/authentication-issues/check-login-and-logout-issues)
* [Déconnexion des utilisateurs d’Auth0 avec le point de terminaison OIDC](/docs/fr-CA/fr-ca/authenticate/login/logout/log-users-out-of-auth0)
* [Déconnecter l’utilisateur de l’application](/docs/fr-CA/fr-ca/authenticate/login/logout/log-users-out-of-applications)
* [Déconnecter des utilisateurs des fournisseurs d’identité](/docs/fr-CA/fr-ca/authenticate/login/logout/log-users-out-of-idps)
