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

> Aprende cómo funciona el flujo de contraseña del propietario del recurso y por qué debes usarlo en aplicaciones altamente confiables.

# Flujo de contraseña del propietario del recurso

<Warning>
  Dado que el flujo de contraseña del propietario del recurso (ROP) implica que la aplicación gestione la contraseña del usuario, no debe utilizarse con clientes de terceros.
</Warning>

Aunque no lo recomendamos, las aplicaciones altamente confiables pueden usar el flujo de contraseña de <Tooltip tip="Resource Owner: Entidad (como un usuario o una aplicación) capaz de conceder acceso a un recurso protegido." cta="Ver glosario" href="/es/docs/glossary?term=Resource+Owner">Resource Owner</Tooltip> (definido en [OAuth 2.0 RFC 6749, sección 4.3](https://tools.ietf.org/html/rfc6749#section-4.3) y a veces llamado Resource Owner Password Grant o ROPG), en el que se solicita a los usuarios que proporcionen sus credenciales (username/correo electrónico/teléfono y contraseña), normalmente mediante un formulario interactivo. Como las credenciales se envían al backend y pueden almacenarse para usarse más adelante antes de intercambiarse por un <Tooltip tip="Token de acceso: Credencial de autorización, en forma de una cadena opaca o un JWT, que se utiliza para acceder a una API." cta="Ver glosario" href="/es/docs/glossary?term=Access+Token">Token de acceso</Tooltip>, es imprescindible que la aplicación sea completamente confiable para manejar esta información.

Incluso si se cumple esta condición, el flujo de contraseña del propietario del recurso solo debe utilizarse cuando no sea posible usar flujos basados en redirección (como el [flujo de código de autorización](/es/docs/get-started/authentication-and-authorization-flow/authorization-code-flow)).

<div id="how-it-works">
  ## Cómo funciona
</div>

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4EeYNcnVX1RFcTy5z4lP4v/c3e4d22e6f8bf558caf07338a7388097/ROP_Grant.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=56a360b162a2e39f3fa33c5d9787c03d" alt="Diagrama: flujo de contraseña del propietario del recurso" width="2234" height="1330" data-path="docs/images/cdy7uua7fh8z/4EeYNcnVX1RFcTy5z4lP4v/c3e4d22e6f8bf558caf07338a7388097/ROP_Grant.png" />
</Frame>

1. El usuario hace clic en **Iniciar sesión** en la aplicación e introduce sus credenciales.
2. Su aplicación reenvía las credenciales del usuario a su Servidor de autorización de Auth0 (endpoint [`/oauth/token`](https://auth0.com/docs/api/authentication#resource-owner-password)).
3. Su Servidor de autorización de Auth0 valida las credenciales.
4. Su Servidor de autorización de Auth0 responde con un Token de acceso (y, opcionalmente, un Token de actualización).
5. Su aplicación puede usar el Token de acceso para llamar a una API y acceder a información sobre el usuario.
6. La API responde con los datos solicitados.

<div id="how-to-implement-it">
  ## Cómo implementarlo
</div>

La forma más sencilla de implementar el flujo de contraseña del propietario del recurso es seguir nuestro tutorial para usar los endpoints de nuestra API y [llamar a tu API mediante el flujo de contraseña del propietario del recurso](/es/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow).

<div id="realm-support">
  ## Compatibilidad con realms
</div>

Auth0 proporciona un grant de extensión que ofrece una funcionalidad similar al grant Resource Owner Password, pero le permite mantener directorios de usuarios independientes (que se asignan a conexiones independientes) y especificar cuál usar durante el flujo.

Por ejemplo, supongamos que quiere mostrar un menú desplegable en la interfaz de usuario de inicio de sesión de su aplicación para que los usuarios puedan elegir su tipo de usuario: `Employees` o `Customers`. En este caso, configuraría `Employees` y `Customers` como realms (y configuraría una conexión correspondiente para cada uno), lo que permite mantener las credenciales de empleados y clientes en directorios de usuarios independientes. Cuando solicite un token, enviará el valor del realm junto con las credenciales del usuario, y el realm enviado se utilizará para verificar la contraseña.

Para obtener más información sobre cómo implementar este grant de extensión, consulte [Call Your API Using Resource Owner Password Flow: Configure Realm Support](/es/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow).

<div id="rules">
  ## Rules
</div>

Rules se ejecutan en el flujo de contraseña del propietario del recurso (incluido el grant de extensión Realm). Sin embargo, las reglas de redirección no funcionan. Si intenta realizar una redirección especificando `context.redirect` en su Rule, el flujo de autenticación devolverá un error. Para obtener más información sobre Rules, lea [Auth0 Rules](/es/docs/customize/rules). Para obtener más información sobre las reglas de redirección, lea [Redirigir usuarios desde Rules](/es/docs/customize/rules/redirect-users).

<div id="mfa-support">
  ## Soporte para MFA
</div>

Si necesita usar el flujo de contraseña del propietario del recurso, pero requiere una autenticación más robusta, puede agregar <Tooltip tip="Autenticación multifactor (MFA): proceso de autenticación de usuarios que usa un factor adicional, además de username y contraseña, como un code por SMS." cta="Ver glosario" href="/es/docs/glossary?term=multi-factor+authentication">autenticación multifactor</Tooltip> (MFA). Para obtener más información, lea [Autenticarse mediante el flujo de contraseña del propietario del recurso con MFA](/es/docs/secure/multi-factor-authentication/authenticate-using-ropg-flow-with-mfa).

<div id="attack-protection">
  ## Protección contra ataques
</div>

Al usar el flujo de contraseña del propietario del recurso con <Tooltip tip="Protección contra fuerza bruta: forma de protección contra ataques que protege contra ataques de fuerza bruta que se producen desde una única dirección IP y tienen como objetivo una sola cuenta de usuario." cta="Ver glosario" href="/es/docs/glossary?term=brute-force+protection">protección contra fuerza bruta</Tooltip>, es posible que algunas funciones de <Tooltip tip="Protección contra fuerza bruta: forma de protección contra ataques que protege contra ataques de fuerza bruta que se producen desde una única dirección IP y tienen como objetivo una sola cuenta de usuario." cta="Ver glosario" href="/es/docs/glossary?term=attack+protection">protección contra ataques</Tooltip> no funcionen correctamente. Sin embargo, se pueden evitar algunos problemas comunes. Para obtener más información, consulte [Evitar problemas comunes con flujo de contraseña del propietario del recurso y la protección contra ataques](/es/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/avoid-common-issues-with-resource-owner-password-flow-and-attack-protection).

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

* [Auth0 Rules](/es/docs/customize/rules)
* [Auth0 Hooks](/es/docs/customize/hooks)
* [Tokens](/es/docs/secure/tokens)
* [Prácticas recomendadas para tokens](/es/docs/secure/tokens/token-best-practices)
* [¿Qué flujo de OAuth 2.0 debo usar?](/es/docs/get-started/authentication-and-authorization-flow/which-oauth-2-0-flow-should-i-use)
