> ## 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.

> Describe cómo redirigir a los usuarios con el endpoint heredado de cierre de sesión.

# Redirigir a los usuarios con un método alternativo de cierre de sesión

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

Puedes redirigir a los usuarios a una URL específica después de cerrar sesión. Tendrás que registrar la URL de redirección en la configuración de tu inquilino o de tu aplicación. Auth0 solo redirige a las URL incluidas en la lista de permitidas después del cierre de sesión. Si necesitas redirecciones diferentes para cada aplicación, puedes agregar las URL a la lista de permitidas en la configuración de tu aplicación.

1. Agrega un parámetro de cadena de consulta `returnTo` con la URL de destino como valor. Codifica la URL de destino que se pasa. Por ejemplo, para redirigir al usuario a `https://www.example.com` después de cerrar sesión, realiza la siguiente solicitud:
   `https://{yourDomain}/v2/logout?returnTo=https%3A%2F%2Fwww.example.com`.
2. Agrega la URL `returnTo` sin codificar (por ejemplo, `https://www.example.com`) como **Allowed Logout URLs** en uno de estos dos lugares:

   * **Tenant Settings**: Para las solicitudes de cierre de sesión que no incluyan el parámetro `client_id`, debes agregar la URL `returnTo` a la lista de **Allowed Logout URLs** en la [pestaña Advanced de tu Tenant Settings](https://manage.auth0.com/#/tenant/advanced).

     Para agregar una lista de URL a las que se puede redirigir al usuario después de cerrar sesión en el nivel del inquilino, ve a [Tenant Settings > Advanced](https://manage.auth0.com/#/tenant/advanced) en el Auth0 Dashboard.

     <Frame>
       <img src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/77s6AWMuzH78ABObR3lg0o/e71244706641f43e292d719056f3e651/2025-02-27_11-14-31.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=eeb1857670b7182e3e760174f8558bf5" alt="Pestaña Advanced de Tenant Settings en Auth0 Dashboard para inicio y cierre de sesión" width="1404" height="882" data-path="docs/images/cdy7uua7fh8z/77s6AWMuzH78ABObR3lg0o/e71244706641f43e292d719056f3e651/2025-02-27_11-14-31.png" />
     </Frame>
   * **Auth0 Application Settings**: Para las solicitudes de cierre de sesión que incluyan el parámetro `client_id`, debes agregar la URL `returnTo` a la lista de **Allowed Logout URLs** en la pestaña **Settings** de las aplicaciones de Auth0 asociadas.

     <Frame>
       <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1QhW2i4fTCCp8owey2tMPI/a19f7fc3f84118920d0e5cb2357144da/Application_URIs.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=90f4824b5e8a3853b4efb1ec3c7e05c0" alt="Application Settings y Application URIs en Dashboard Applications" width="1202" height="1218" data-path="docs/images/cdy7uua7fh8z/1QhW2i4fTCCp8owey2tMPI/a19f7fc3f84118920d0e5cb2357144da/Application_URIs.png" />
     </Frame>

Al proporcionar la lista de URL, puedes:

1. Especificar varias URL válidas separadas por comas.
2. Usar `*` como [comodín para subdominios](/es/docs/get-started/applications/wildcards-for-subdomains) (como `http://*.example.com`).

Si se incluye el parámetro `client_id` y no se establece la URL `returnTo`, el servidor redirige al usuario a la primera **Allowed Logout URLs** configurada en el Dashboard.

Para evitar errores de validación, asegúrate de incluir la parte del protocolo de la URL. Por ejemplo, si estableces el valor en `*.example.com`, se producirá un error de validación, por lo que debes usar `http://*.example.com` en su lugar.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Para redirigir mediante el endpoint `oidc/logout` de Auth0, consulta [Usar el endpoint OIDC para cerrar la sesión de los usuarios en Auth0](/es/docs/authenticate/login/logout/log-users-out-of-auth0).
</Callout>

<div id="federated-logouts">
  ## Cierres de sesión federados
</div>

[Varios proveedores](/es/docs/authenticate/login/logout/log-users-out-of-idps#federated-logout-support) admiten el cierre de sesión federado.

Para redirigir a los usuarios desde aplicaciones que usan cierre de sesión federado, inicie el cierre de sesión federado con el siguiente endpoint:

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

Es su responsabilidad garantizar que la aplicación finalice la sesión del usuario antes de redirigirlo.

Cuando el usuario accede al endpoint `/logout`, Auth0 finaliza la sesión de Auth0, redirige al usuario al endpoint de cierre de sesión de los <Tooltip tip="Proveedor de identidad (IdP): servicio que almacena y gestiona identidades digitales." cta="Ver glosario" href="/es/docs/glossary?term=Identity+Providers">Proveedores de identidad</Tooltip> y finaliza la sesión con el Proveedor de identidad.

<div id="limitations">
  ## Limitaciones
</div>

* No se tiene en cuenta la validación de las URL proporcionadas como valores del parámetro `returnTo`, ni la cadena de consulta ni la información de hash incluidas en la URL.
* El comportamiento del cierre de sesión federado con proveedores sociales no es uniforme. Cada proveedor manejará el parámetro `returnTo` de forma distinta y, en algunos casos, no funcionará. Revise la configuración de su proveedor social para confirmar que acepta el parámetro `returnTo` y cómo se comporta.
* Las URL incluidas en la lista **Allowed Logout URLs** distinguen entre mayúsculas y minúsculas, por lo que la URL usada para el cierre de sesión debe coincidir exactamente con la capitalización de la URL de cierre de sesión configurada en el Dashboard. Sin embargo, tenga en cuenta que las partes correspondientes al esquema y al host no distinguen entre mayúsculas y minúsculas. Por ejemplo, si su URL es `http://www.Example.Com/FooHoo.html`, la parte `http://www.Example.Com` no distingue entre mayúsculas y minúsculas, mientras que la parte `FooHoo.html` sí.

Si trabaja con Proveedores de identidad sociales como Google o Facebook, debe configurar su `ID de cliente` y `Secret` para estos proveedores en el [Dashboard](https://manage.auth0.com/#) para que el cierre de sesión funcione correctamente.

<div id="additional-requirements-for-facebook">
  ## Requisitos adicionales para Facebook
</div>

Use el parámetro `returnTo` para especificar cómo redirigir al usuario después de cerrar sesión.

No todos los IdP admiten `returnTo`.

En el caso de Facebook, el siguiente código de ejemplo usa el parámetro `returnTo` y especifica un sitio web para la redirección.

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

<AuthCodeBlock children={codeExample} language="http" />

<div id="learn-more">
  ## Más información
</div>

* [Cerrar la sesión de los usuarios en las aplicaciones](/es/docs/authenticate/login/logout/log-users-out-of-applications)
* [Cerrar la sesión de los usuarios en Auth0 con el endpoint OIDC](/es/docs/authenticate/login/logout/log-users-out-of-auth0)
* [Cerrar la sesión de los usuarios en los proveedores de identidad](/es/docs/authenticate/login/logout/log-users-out-of-idps)
* [Cerrar la sesión de los usuarios en los proveedores de identidad SAML](/es/docs/authenticate/login/logout/log-users-out-of-saml-idps)
