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

# Rediriger les utilisateurs avec une déconnexion alternative

> Décrit comment rediriger les utilisateurs avec le point de terminaison hérité de déconnexion.

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) + "*****MASKED*****";
          }
          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>;
};

Vous pouvez rediriger les utilisateurs vers une URL spécifique après leur déconnexion. Vous devrez enregistrer l’URL de redirection dans les paramètres de votre locataire ou de votre application. Auth0 redirige uniquement vers les URL présentes dans la liste d’URL autorisées après la déconnexion. Si vous avez besoin de redirections différentes pour chaque application, vous pouvez ajouter les URL à la liste d’URL autorisées dans les paramètres de votre application.

1. Ajoutez un paramètre de chaîne de requête `returnTo` avec l’URL cible comme valeur. Codez l’URL cible transmise. Par exemple, pour rediriger l’utilisateur vers `https://www.example.com` après la déconnexion, faites la demande suivante :
   `https://{yourDomain}/v2/logout?returnTo=https%3A%2F%2Fwww.example.com`.
2. Ajoutez l’URL `returnTo` non codée (par exemple, `https://www.example.com`) dans la liste des **URL de déconnexion autorisées** à l’un des deux endroits suivants :

   * **Paramètres du locataire** : Pour les demandes de déconnexion qui n’incluent pas le paramètre `client_id`, vous devez ajouter l’URL `returnTo` à la liste **URL de déconnexion autorisées** dans l’onglet [Avancé de vos Paramètres de locataire](https://manage.auth0.com/#/tenant/advanced).<br />

     Pour ajouter une liste d’URL vers lesquelles l’utilisateur peut être redirigé après s’être déconnecté au niveau du locataire, allez à [Paramètres du locataire > Avancé](https://manage.auth0.com/#/tenant/advanced) de Auth0 Dashboard.

     <Frame>
       <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/mxRp7IkiVukPESZw/docs/images/fr-ca/cdy7uua7fh8z/77s6AWMuzH78ABObR3lg0o/d8fa6804852065de531aef6f8e04fde5/2025-02-27_11-13-53.png?fit=max&auto=format&n=mxRp7IkiVukPESZw&q=85&s=a39cbb58e256f23dfcaa14f85ec75561" alt="Auth0 Dashboard (Tableau de bord Auth0) Paramètres Avancé Onglet Connexion et Déconnexion" width="1404" height="940" data-path="docs/images/fr-ca/cdy7uua7fh8z/77s6AWMuzH78ABObR3lg0o/d8fa6804852065de531aef6f8e04fde5/2025-02-27_11-13-53.png" />
     </Frame>

   * **Paramètres de l’application Auth0** : Pour les demandes de déconnexion qui incluent le paramètre `client_id`, vous devez ajouter l’URL `returnTo` à la liste **URL de déconnexion autorisées** dans l’onglet **Paramètres** de la ou des application(s) Auth0 associée(s).

     <Frame>
       <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/7ZTj9ECBnaPth0zw/docs/images/fr-ca/cdy7uua7fh8z/1QhW2i4fTCCp8owey2tMPI/3f30e9b32339ee2a416bdb981d9f238b/App_URIs_-_FR.png?fit=max&auto=format&n=7ZTj9ECBnaPth0zw&q=85&s=a1dbd9e45cc0ba9556f7fd5cb21f441e" alt="Tableau de bord Applications Paramètres d’application URIs de l’application" width="1202" height="1304" data-path="docs/images/fr-ca/cdy7uua7fh8z/1QhW2i4fTCCp8owey2tMPI/3f30e9b32339ee2a416bdb981d9f238b/App_URIs_-_FR.png" />
     </Frame>

Lorsque vous fournissez la liste des URL, vous pouvez :

1. spécifier plusieurs URL valides, séparés par des virgules.
2. Utilisez `*` comme [caractère générique pour les sous-domaines](/docs/fr-ca/get-started/applications/wildcards-for-subdomains)  (par exemple, `http://*.example.com`).

Si le paramètre `client_id` est inclus et que le paramètre `returnTo` URL n’est pas défini, le serveur renvoie l’utilisateur aux premières URL de déconnexion autorisées définies dans le Dashboard.

Pour éviter les erreurs de validation, veillez à inclure la partie protocole de l’URL. Par exemple, si vous définissez la valeur `*.example.com`, vous obtiendrez une erreur de validation; vous devez donc plutôt utiliser `http://*.example.com`.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Pour rediriger avec le point de terminaison `oidc/logout` d’Auth0, lisez [Utiliser le point de terminaison OIDC pour déconnecter les utilisateurs d’Auth0](/docs/fr-ca/authenticate/login/logout/log-users-out-of-auth0).
</Callout>

## Déconnexions fédérées

[Plusieurs fournisseurs](https://auth0.com/docs/authenticate/login/logout/log-users-out-of-idps#federated-logout-support) prennent en charge la déconnexion fédérée.

Pour rediriger les utilisateurs des applications utilisant la déconnexion fédérée, lancez la déconnexion fédérée avec le point de terminaison suivant :

`https://{yourDomain}/v2/logout?federated`

Il vous incombe de veiller à ce que votre application mette fin à la session de l’utilisateur avant de le rediriger.

Lorsque l’utilisateur atteint le point de terminaison `/logout`, Auth0 met fin à la session Auth0, redirige l’utilisateur vers le point de terminaison des fournisseurs d’identité et met fin à la session avec le fournisseur d’identité.

## Limites

* La validation des URL fournies comme valeurs du paramètre `returnTo`, la chaîne de requête et les informations de hachage fournies dans le cadre de l’URL ne sont pas prises en compte.
* Le comportement des déconnexions fédérées varie d’un fournisseur d’identité sociale à un autre. Chaque fournisseur traitera le paramètre `returnTo` différemment et, pour certains, il ne fonctionnera pas. Veuillez vérifier les paramètres de votre fournisseur d’identité sociale pour vous assurer qu’il accepte le paramètre `returnTo` et comment il se comportera.
* Les URL fournies dans la liste **URL de déconnexion autorisées** sont sensibles à la casse, de sorte que l’URL utilisée pour les déconnexions doit correspondre à la casse de l’URL de déconnexion configurée sur le tableau de bord. Notez toutefois que les parties scheme et host ne sont pas sensibles à la casse. Par exemple, si votre URL est `http://www.Example.Com/FooHoo.html`, la partie `http://www.Example.Com` est insensible à la casse, tandis que la partie `FooHoo.html` est sensible à la casse.

Si vous travaillez avec des fournisseurs d’identité sociale tels que Google ou Facebook, vous devez définir votre `Client ID` et votre `Secret` pour ces fournisseurs dans le [Dashboard](https://manage.auth0.com/#) pour que la déconnexion fonctionne correctement.

## Exigences supplémentaires pour Facebook

Utilisez le paramètre `returnTo` pour spécifier comment rediriger l’utilisateur après la déconnexion.

Tous les fournisseurs d’identité ne prennent pas en charge le paramètre `returnTo`.

Pour Facebook, l’exemple de code ci-dessous utilise le paramètre `returnTo` et spécifie un site Web pour la redirection.

export const codeExample = `https://{yourDomain}/v2/logout?federated&
      returnTo=https://{yourDomain}/logout?returnTo=http://www.example.com
      &access_token={facebookAccessToken}`;

<AuthCodeBlock children={codeExample} language="text" lines />

## En savoir plus

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