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

> Découvrez le fonctionnement des initiateurs de la déconnexion OIDC par canal arrière et comment les configurer pour votre ou vos applications.

# Initiateurs de la déconnexion OIDC par canal arrière

export const AuthCodeBlock = ({filename, icon, language, highlight, children}) => {
  const [displayText, setDisplayText] = useState(children);
  const [copyText, setCopyText] = useState(children);
  const wrapperRef = React.useRef(null);
  useEffect(() => {
    let unsubscribe = null;
    function init() {
      if (!window.autorun || !window.rootStore) {
        return;
      }
      unsubscribe = window.autorun(() => {
        let processedChildrenForDisplay = children;
        let processedChildrenForCopy = children;
        for (const [key, value] of window.rootStore.variableStore.values.entries()) {
          const escapedKey = key.replaceAll(/[.*+?^${}()|[\]\\]/g, (String.raw)`\$&`);
          let displayValue = value;
          if (key === "{yourClientSecret}" && value !== "{yourClientSecret}") {
            displayValue = value.substring(0, 3) + "*****MASQUÉ*****";
          }
          processedChildrenForDisplay = processedChildrenForDisplay.replaceAll(new RegExp(escapedKey, "g"), displayValue);
          processedChildrenForCopy = processedChildrenForCopy.replaceAll(new RegExp(escapedKey, "g"), value);
        }
        setDisplayText(processedChildrenForDisplay);
        setCopyText(processedChildrenForCopy);
      });
    }
    if (window.rootStore) {
      init();
    } else {
      window.addEventListener("adu:storeReady", init);
    }
    return () => {
      window.removeEventListener("adu:storeReady", init);
      unsubscribe?.();
    };
  }, [children]);
  useEffect(() => {
    if (!wrapperRef.current) return;
    const originalWriteText = navigator.clipboard.writeText.bind(navigator.clipboard);
    let isOverriding = false;
    const handleClick = e => {
      const button = e.target.closest('[data-testid="copy-code-button"]');
      if (!button || !wrapperRef.current.contains(button)) return;
      isOverriding = true;
      navigator.clipboard.writeText = text => {
        if (isOverriding) {
          isOverriding = false;
          navigator.clipboard.writeText = originalWriteText;
          return originalWriteText(copyText);
        }
        return originalWriteText(text);
      };
      setTimeout(() => {
        if (isOverriding) {
          isOverriding = false;
          navigator.clipboard.writeText = originalWriteText;
        }
      }, 100);
    };
    const wrapper = wrapperRef.current;
    wrapper.addEventListener('click', handleClick, true);
    return () => {
      wrapper.removeEventListener('click', handleClick, true);
      if (navigator.clipboard.writeText !== originalWriteText) {
        navigator.clipboard.writeText = originalWriteText;
      }
    };
  }, [copyText]);
  return <div ref={wrapperRef}>
      <CodeBlock filename={filename} icon={icon} language={language} lines highlight={highlight}>
        {displayText}
      </CodeBlock>
    </div>;
};

Les initiateurs de la déconnexion OIDC par canal arrière vous permettent de déconnecter à distance les utilisateurs de leurs applications en fonction des événements de fin de session. Les initiateurs de la déconnexion OIDC par canal arrière fonctionnent avec différents protocoles — par exemple, une demande de déconnexion <Tooltip tip="Fournisseur d’identité (IdP) : service qui stocke et gère les identités numériques." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=identity+provider">fournisseur d’identité</Tooltip>-initiée (déclenchée par l’IdP) <Tooltip tip="Fournisseur d’identité (IdP) : service qui stocke et gère les identités numériques." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=SAML">SAML</Tooltip> — et ne sont pas touchés par les restrictions sur les cookies tiers.

Cette fonctionnalité est une extension de la spécification OIDC back-channel standard. Vous pouvez la configurer pour lancer une demande de déconnexion OIDC par canal arrière lors d’événements de fin de session précis, comme un changement de mot de passe ou l’expiration d’une session, ou pour tous les événements de fin de session.

Les administrateurs peuvent activer cette fonctionnalité pour certaines applications avec l’Auth0 <Tooltip tip="Management API : produit permettant aux clients d’effectuer des tâches administratives." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=Management+API">Management API</Tooltip>.

<h2 id="how-oidc-back-channel-logout-initiators-work">
  Fonctionnement des initiateurs de la déconnexion OIDC par canal arrière
</h2>

Les initiateurs associent une réponse de déconnexion OIDC par canal arrière à un événement de fin de session. Ils capturent l’événement et s’en servent pour déclencher un Logout Token OIDC dans toutes les applications associées à la session en question.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Les initiateurs ne contrôlent pas la gestion des sessions dans votre tenant, y compris les événements de fin de session.
</Callout>

Le diagramme suivant montre comment un initiateur de la déconnexion OIDC par canal arrière fonctionne dans le cas d’un événement de changement de mot de passe :

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-init-gt-translations/a36N0BfSEyE-0ccm/docs/images/cdy7uua7fh8z/2GwtCTwecxYONxL1DbewxO/b504426017276605735ab59dc3242794/OIDC_Back-Channel_Logout_Initiators_Diagram.png?fit=max&auto=format&n=a36N0BfSEyE-0ccm&q=85&s=00e63d8cb9118c791b307a70ca943521" alt="" width="1500" height="1007" data-path="docs/images/cdy7uua7fh8z/2GwtCTwecxYONxL1DbewxO/b504426017276605735ab59dc3242794/OIDC_Back-Channel_Logout_Initiators_Diagram.png" />
</Frame>

<h2 id="configure-oidc-back-channel-logout-initiators">
  Configurer les initiateurs de la déconnexion OIDC par canal arrière
</h2>

Vous pouvez configurer les initiateurs de la déconnexion OIDC par canal arrière au moyen de l’Auth0 Management API.

<h3 id="management-api">
  Management API
</h3>

Vous pouvez configurer les initiateurs de la déconnexion OIDC par canal arrière d’une application à l’aide de la Management API en utilisant le point de terminaison [Mettre à jour un client](https://auth0.com/docs/api/management/v2/clients/patch-clients-by-id).

1. Obtenez un [jeton d’accès à la Management API](/docs/fr-ca/secure/tokens/access-tokens/management-api-access-tokens) avec la portée `update:clients`.
2. Envoyez une requête au point de terminaison [Mettre à jour un client](https://auth0.com/docs/api/management/v2/clients/patch-clients-by-id) avec les données de configuration appropriées dans le payload. Par exemple, pour déconnecter une application après un changement de mot de passe, fournissez ce qui suit :

export const codeExample1 = `   PATCH /api/v2/clients/{yourClientId}
{
  ...
  "oidc_logout": {
    "backchannel_logout_urls": ["https://example.com/cb"]
    "backchannel_logout_initiators": {
      "mode":"custom",
      "selected_initiators": ["rp-logout", "idp-logout", "password-changed"]
    }
  }
  ...
}
`;

<AuthCodeBlock children={codeExample1} language="json" filename="JSON" />

<h4 id="properties">
  Propriétés
</h4>

L’objet `backchannel_logout_initiators` comprend les propriétés suivantes :

| Propriété             | Type    | Obligatoire ?                      | Description                                            | Valeurs prises en charge                                                                                                           |
| --------------------- | ------- | ---------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| `mode`                | chaîne  | Obligatoire                        | Méthode de configuration pour activer les initiateurs. | `custom`, `all`                                                                                                                    |
| `selected_initiators` | tableau | Obligatoire si `mode` est `custom` | Liste des initiateurs à activer.                       | `rp-logout`, `idp-logout`, `password-changed`, `session-expired`, `session-revoked`, `account-deleted`, `email-identifier-changed` |

<h5 id="mode-property">
  propriété `mode`
</h5>

La propriété `mode` détermine la méthode de configuration utilisée pour activer les initiateurs.

Par défaut, sa valeur est `custom`, ce qui vous permet de préciser les initiateurs à activer. Si vous voulez que votre application se déconnecte dès que la session IdP prend fin, définissez-la sur `all`.

La propriété `mode` prend en charge les valeurs suivantes :

| Valeur   | Description                                                                       |
| -------- | --------------------------------------------------------------------------------- |
| `custom` | Active uniquement les initiateurs indiqués dans le tableau `selected_initiators`. |
| `all`    | Active automatiquement tous les initiateurs actuels et futurs.                    |

<h5 id="selected_initiators-property">
  Propriété `selected_initiators`
</h5>

La propriété `selected_initiators` contient la liste des initiateurs à activer pour l’application visée.

La propriété `selected_initiators` peut prendre les valeurs suivantes :

| Valeur                     | Description                                                                |
| -------------------------- | -------------------------------------------------------------------------- |
| `rp-logout`                | La requête a été initiée par une partie de confiance (RP).                 |
| `idp-logout`               | La requête a été initiée par un fournisseur d’identité externe (IdP).      |
| `password-changed`         | La requête a été initiée par une modification du mot de passe.             |
| `session-expired`          | La requête a été initiée par l’expiration de la session.                   |
| `session-revoked`          | La requête a été initiée par la suppression de la session.                 |
| `account-deleted`          | La requête a été initiée par la suppression d’un compte.                   |
| `email-identifier-changed` | La requête a été initiée par la modification de l’identifiant de courriel. |

<h4 id="examples">
  Exemples
</h4>

<h5 id="subscribe-an-application-to-all-current-and-future-initiators">
  Abonner une application à tous les initiateurs actuels et à venir
</h5>

export const codeExample2 = `PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
    "backchannel_logout_urls": ["https://example.com/cb"]
    "backchannel_logout_initiators": {
      "mode":"all"
    }
  }
  ...
}`;

<AuthCodeBlock children={codeExample2} language="json" filename="JSON" />

<h5 id="subscribe-an-application-to-password-changed-initiator-only-rp-logout-and-idp-logout-are-required">
  Abonner une application uniquement à l’initiateur `password-changed` (`rp-logout` et `idp-logout` sont requis)
</h5>

export const codeExample3 = `PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
    "backchannel_logout_urls": ["https://example.com/cb"]
    "backchannel_logout_initiators": {
      "mode":"custom",
      "selected_initiators": ["rp-logout", "idp-logout", "password-changed"]
    }
  }
  ...
}`;

<AuthCodeBlock children={codeExample3} language="json" filename="JSON" />

<h5 id="unsubscribe-all-initiators-rp-logout-remains-the-default">
  Désinscrire tous les initiateurs (rp-logout reste l’option par défaut)
</h5>

export const codeExample4 = `PATCH /api/v2/clients/{yourClientId}

{
  ...
  "oidc_logout": {
	  "backchannel_logout_urls": ["https://example.com/cb"]
  }
  ...
}`;

<AuthCodeBlock children={codeExample4} language="json" filename="JSON" />

<h3 id="dashboard">
  Tableau de bord
</h3>

<Tooltip tip="OpenID : norme ouverte d’authentification qui permet aux applications de vérifier l’identité des utilisateurs sans recueillir ni stocker leurs renseignements de connexion." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=OpenID">OpenID</Tooltip> Connect déconnexion OIDC par canal arrière peut être configuré dans les paramètres de votre application, avec le reste de la configuration. Cette fonctionnalité s’active automatiquement dès qu’un URI de déconnexion OIDC par canal arrière est fourni.

<Frame>
  <img src="https://mintcdn.com/docs-staging-feat-init-gt-translations/K9-6G1zim4z3mt9R/docs/images/cdy7uua7fh8z/vgN0wudP38zgRZNL59Mhy/83199c9ea81dd94f5dd589c4c46bea80/Screenshot_2024-11-05_at_13.22.54.png?fit=max&auto=format&n=K9-6G1zim4z3mt9R&q=85&s=f3afaaced82f7a918c7961fc9c134ec8" alt="Tableau de bord > Applications > Paramètres de l’application" data-og-width="1404" width="1404" data-og-height="810" height="810" data-path="docs/images/cdy7uua7fh8z/vgN0wudP38zgRZNL59Mhy/83199c9ea81dd94f5dd589c4c46bea80/Screenshot_2024-11-05_at_13.22.54.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-staging-feat-init-gt-translations/K9-6G1zim4z3mt9R/docs/images/cdy7uua7fh8z/vgN0wudP38zgRZNL59Mhy/83199c9ea81dd94f5dd589c4c46bea80/Screenshot_2024-11-05_at_13.22.54.png?w=280&fit=max&auto=format&n=K9-6G1zim4z3mt9R&q=85&s=f3d4a6d56ad5e54cc2e5f0536fa6bd5c 280w, https://mintcdn.com/docs-staging-feat-init-gt-translations/K9-6G1zim4z3mt9R/docs/images/cdy7uua7fh8z/vgN0wudP38zgRZNL59Mhy/83199c9ea81dd94f5dd589c4c46bea80/Screenshot_2024-11-05_at_13.22.54.png?w=560&fit=max&auto=format&n=K9-6G1zim4z3mt9R&q=85&s=9c0a9b8e32dd9267ace0178a35a9923a 560w, https://mintcdn.com/docs-staging-feat-init-gt-translations/K9-6G1zim4z3mt9R/docs/images/cdy7uua7fh8z/vgN0wudP38zgRZNL59Mhy/83199c9ea81dd94f5dd589c4c46bea80/Screenshot_2024-11-05_at_13.22.54.png?w=840&fit=max&auto=format&n=K9-6G1zim4z3mt9R&q=85&s=4d50b52c2dd6c32e3e9dc9fd6bb7137f 840w, https://mintcdn.com/docs-staging-feat-init-gt-translations/K9-6G1zim4z3mt9R/docs/images/cdy7uua7fh8z/vgN0wudP38zgRZNL59Mhy/83199c9ea81dd94f5dd589c4c46bea80/Screenshot_2024-11-05_at_13.22.54.png?w=1100&fit=max&auto=format&n=K9-6G1zim4z3mt9R&q=85&s=785b3c5063df01a69f8b462edefb609b 1100w, https://mintcdn.com/docs-staging-feat-init-gt-translations/K9-6G1zim4z3mt9R/docs/images/cdy7uua7fh8z/vgN0wudP38zgRZNL59Mhy/83199c9ea81dd94f5dd589c4c46bea80/Screenshot_2024-11-05_at_13.22.54.png?w=1650&fit=max&auto=format&n=K9-6G1zim4z3mt9R&q=85&s=3de9b9a39445f700b97ee30fc4b31595 1650w, https://mintcdn.com/docs-staging-feat-init-gt-translations/K9-6G1zim4z3mt9R/docs/images/cdy7uua7fh8z/vgN0wudP38zgRZNL59Mhy/83199c9ea81dd94f5dd589c4c46bea80/Screenshot_2024-11-05_at_13.22.54.png?w=2500&fit=max&auto=format&n=K9-6G1zim4z3mt9R&q=85&s=0fbeb2e8771924ff27fa0cdd577fa45d 2500w" />
</Frame>

<h4 id="selected-initiators-only">
  Initiateurs sélectionnés uniquement
</h4>

Par défaut, votre application sera abonnée uniquement aux initiateurs requis (`rp-logout` et `idp-logout`). Tout initiateur supplémentaire, y compris ceux qui pourraient être ajoutés plus tard, doit d’abord être sélectionné avant de pouvoir déclencher une déconnexion de votre application.

Sélectionnez cette option si vous voulez que votre application se déconnecte uniquement pour les initiateurs que vous sélectionnez.

<h4 id="all-supported-initiators">
  Tous les initiateurs pris en charge
</h4>

Tous les initiateurs pris en charge, y compris ceux qui seront ajoutés ultérieurement, seront sélectionnés par défaut.

Sélectionnez cette option si vous souhaitez que votre application déconnecte l’utilisateur chaque fois que la session de l’IdP prend fin.
