> ## 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 a URL que no se han agregado a la lista de URLs permitidas.

# Redirigir usuarios

Puedes redirigir a los usuarios a páginas específicas (URL) dentro de tu aplicación después de validar sus <Tooltip tip="ID Token: Credencial destinada al propio cliente y no al acceso a un recurso." cta="Ver glosario" href="/es/docs/glossary?term=ID+Tokens">ID Tokens</Tooltip> (autenticación). Para ver un ejemplo de cómo funciona, consulta el [Inicio rápido de React: Inicio de sesión](/es/docs/quickstart/spa/react).

<div id="redirect-users-to-callback-urls-on-the-allowlist">
  ## Redirigir a los usuarios a URL de callback de la AllowList
</div>

Debido a que las URL de callback pueden ser manipuladas por terceros no autorizados, Auth0 solo reconoce como válidas las URL incluidas en la AllowList configurada en el campo **Allowed Callback URLs** de la [configuración de una aplicación](https://manage.auth0.com/#/applications/\{yourClientId}/settings). Para devolver a los usuarios a URL de callback de la AllowList, es necesario que su aplicación sepa cómo hacer que el usuario continúe su recorrido.

Hay dos métodos para hacerlo:

* Usar cookies y sesiones del navegador
* Usar parámetros `state`

Durante la autenticación de un usuario, el parámetro de solicitud `redirect_uri` se usa como URL de callback. Aquí es donde su aplicación recibe y procesa la respuesta de Auth0, y suele ser la URL a la que se redirige a los usuarios una vez completada la autenticación. Para obtener más información sobre cómo funciona `redirect_uri`, consulte [Marco de autorización de OAuth 2.0](/es/docs/authenticate/protocols/oauth).

<Tabs>
  <Tab title="Cookie o sesión del navegador">
    Puede usar una cookie o la sesión del navegador para almacenar un valor de URL de retorno. Esta es una solución sencilla de implementar; sin embargo, puede causar problemas cuando una cookie no persiste. En esta situación se inician dos sesiones de usuario independientes. Cada una cumple una función distinta y requiere cierta consideración para lograr la experiencia de usuario deseada.

    * **Sesión de SSO proporcionada por Auth0**: Auth0 proporciona una sesión para habilitar [Single Sign On (SSO)](/es/docs/authenticate/single-sign-on) y permitir que su usuario mantenga una sesión de autenticación sin que se le soliciten credenciales más de una vez. Auth0 mantiene esta sesión y la referencia mediante una cookie vinculada al dominio de su inquilino (o `CNAME`). Hay dos [configuraciones del inquilino](/es/docs/manage-users/sessions/configure-session-lifetime-settings) que determinan la duración de la sesión de Auth0:

      * `idle_session_lifetime` indica cuánto tiempo permanecerá activa la sesión sin interacción.
      * `session_lifetime` es la duración máxima durante la cual la sesión puede permanecer activa.

      Estas configuraciones se aplican a todas las aplicaciones de su inquilino y deben configurarse para ajustarse al modelo de seguridad que corresponda a su caso de uso.
    * **Sesión de la aplicación**: Su aplicación también debe mantener una sesión. A lo largo de la sesión del usuario, es posible que su aplicación deba solicitar tokens adicionales o renovar los que hayan caducado. Debe almacenar estos tokens en su aplicación y referenciarlos mediante un identificador devuelto al navegador a través de una cookie segura.

    Una vez que su usuario se haya autenticado con Auth0, corresponde a su aplicación determinar cuánto tiempo persiste esta sesión.
  </Tab>

  <Tab title="Parámetros `state`">
    Como método alternativo, puede crear un enlace profundo mediante el parámetro `state`, que su callback interpretaría para determinar una ruta de redirección. Esta solución requiere un poco más de trabajo para implementarse, pero garantiza que la aplicación tenga la información que necesita una vez completada la redirección. Para obtener más información, lea [Prevenir ataques y redirigir usuarios con parámetros state de OAuth 2.0](/es/docs/secure/attack-protection/state-parameters).

    Con este método, envía un valor aleatorio al iniciar una solicitud de autenticación y valida el valor recibido al procesar la respuesta (esto implica almacenar algo del lado de la aplicación cliente, en la sesión o en otro medio, que le permita realizar la validación). Si recibe una respuesta con un estado que no coincide, es probable que haya sido objetivo de un ataque, porque puede tratarse de una respuesta a una solicitud no solicitada o de alguien que intenta falsificar la respuesta real.

    El tipo de aplicación determina cuál es el mejor lugar para conservar los datos que permiten a su aplicación validar la respuesta. Por ejemplo, si una aplicación web progresiva utiliza un framework SPA, podría almacenar esto en el almacenamiento local, mientras que un framework de aplicación web tradicional lo almacenaría en una sesión del lado del servidor.
  </Tab>
</Tabs>

<div id="redirect-users-to-other-urls">
  ## Redirigir a los usuarios a otras URL
</div>

A veces, la URL de callback no es necesariamente donde desea redirigir a los usuarios después de la autenticación. Por ejemplo, si un usuario intenta acceder a una página protegida de su aplicación y esa acción desencadena la solicitud de autenticación, puede almacenar esa URL para redirigir al usuario de vuelta a la página a la que quería acceder cuando finalice la autenticación. Almacene la URL deseada mediante los siguientes métodos:

* [Redirigir a los usuarios con parámetros `state`](/es/docs/secure/attack-protection/state-parameters)
* [Redirigir a los usuarios desde Rules](/es/docs/customize/rules/redirect-users)

Elija la opción que mejor se adapte a su tipo de aplicación y al tipo de [flujo](/es/docs/get-started/authentication-and-authorization-flow/which-oauth-2-0-flow-should-i-use) que esté utilizando. Cree la lógica necesaria en su aplicación para recuperar la URL almacenada y redirigir a los usuarios al lugar que desee. Los [SDK de Auth0](/es/docs/libraries) también incluyen compatibilidad con URL de redirección.

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

* [Redirigir a los usuarios con un cierre de sesión alternativo](/es/docs/authenticate/login/logout/redirect-users-after-logout)
* [Comprender cómo funciona la elaboración progresiva de perfiles](/es/docs/manage-users/user-accounts/user-profiles/progressive-profiling)
