> ## 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 los tipos de concesión y cómo se relacionan con las aplicaciones.

# Tipos de concesión de la aplicación

Los tipos de concesión de la aplicación (o flujos) son métodos mediante los cuales las aplicaciones pueden obtener [tokens de acceso](/es/docs/secure/tokens/access-tokens) y con los que otorgas acceso limitado a tus recursos a otra entidad sin exponer credenciales. El [protocolo OAuth 2.0](/es/docs/get-started/authentication-and-authorization-flow/which-oauth-2-0-flow-should-i-use) admite varios tipos de concesión, que permiten distintos tipos de acceso.

Según las necesidades de tu aplicación, algunos tipos de concesión son más adecuados que otros. Auth0 proporciona muchos flujos diferentes de autenticación y <Tooltip tip="Flujo de autorización: concesión de autorización (o flujo de trabajo) especificado en el marco de OAuth 2.0." cta="Ver glosario" href="/es/docs/glossary?term=authorization+flows">flujos de autorización</Tooltip> y te permite indicar qué tipos de concesión son apropiados según la propiedad `grant_types` de tu aplicación.

Por ejemplo, si quieres proteger una aplicación móvil, el [Authorization Code Flow with Proof Key for Code Exchange (PKCE)](/es/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce) es el más adecuado.

Por otro lado, si quieres proteger una aplicación del lado del cliente, como una aplicación de una sola página (SPA), y no transfieres tokens entre servidores, el [Implicit Flow with Form Post](/es/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post) es el más adecuado.

Hay varios tipos de concesión válidos al registrar aplicaciones. Se pueden dividir en las siguientes categorías:

* **Concesiones conformes con la especificación**: Concesiones definidas por especificaciones externas y conformes con ellas, como <Tooltip tip="OpenID: estándar abierto de autenticación que permite a las aplicaciones verificar la identidad de los usuarios sin recopilar ni almacenar información de inicio de sesión." cta="Ver glosario" href="/es/docs/glossary?term=OpenID">OpenID</Tooltip> Connect (OIDC).
* **Concesiones de extensión de Auth0**: Concesiones específicas de Auth0 que cumplen con el [mecanismo de extensión de OAuth](https://tools.ietf.org/html/rfc6749#section-4.5) para admitir clientes adicionales o proporcionar un puente entre <Tooltip tip="OAuth 2.0: marco de autorización que define protocolos y flujos de trabajo de autorización." cta="Ver glosario" href="/es/docs/glossary?term=OAuth">OAuth</Tooltip> y otros marcos de confianza.
* **Concesiones heredadas de Auth0**: Tipos de concesión tradicionales compatibles solo para clientes heredados. Si eres un cliente heredado, te recomendamos encarecidamente migrar a una alternativa más segura.

<div id="available-grant-types">
  ## Tipos de concesión disponibles
</div>

<div id="specification-conforming-grants">
  ### Tipos de concesión conformes con la especificación
</div>

| Tipo de concesión                              | Descripción                                                                                                                                    |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `implicit`                                     | [Concesión implícita](/es/docs/get-started/authentication-and-authorization-flow/implicit-flow-with-form-post)                                 |
| `authorization_code`                           | [Concesión de código de autorización](/es/docs/get-started/authentication-and-authorization-flow/authorization-code-flow)                      |
| `client_credentials`                           | [Concesión de credenciales de cliente](/es/docs/get-started/authentication-and-authorization-flow/client-credentials-flow)                     |
| `password`                                     | [Concesión de contraseña del propietario del recurso](/es/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow) |
| `refresh_token`                                | [Uso de tokens de actualización](/es/docs/secure/tokens/refresh-tokens/use-refresh-tokens)                                                     |
| `urn:ietf:params:oauth:grant-type:device_code` | [Concesión de autorización de dispositivo](/es/docs/get-started/authentication-and-authorization-flow/device-authorization-flow)               |

<div id="auth0-extension-grants">
  ### Concesiones de extensión de Auth0
</div>

| **Tipo de concesión**                                     | **Descripción**                                                                                                                                  |
| --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **`http://auth0.com/oauth/grant-type/password-realm`**    | Usa una concesión de extensión similar a la concesión de contraseña del propietario del recurso, con la capacidad de indicar un realm específico |
| **`http://auth0.com/oauth/grant-type/mfa-oob`**           | Solicitud de concesión OOB para autenticación multifactor                                                                                        |
| **`http://auth0.com/oauth/grant-type/mfa-otp`**           | Solicitud de concesión OTP para autenticación multifactor                                                                                        |
| **`http://auth0.com/oauth/grant-type/mfa-recovery-code`** | Solicitud de concesión de recuperación para autenticación multifactor                                                                            |
| **`http://auth0.com/oauth/grant-type/passwordless/otp`**  | Solicitud de concesión para inicio de sesión integrado sin contraseña                                                                            |

<div id="auth0-legacy-grants">
  ### Concesión heredadas de Auth0
</div>

Los concesión heredados incluyen:

* `http://auth0.com/oauth/legacy/grant-type/ro`
* `http://auth0.com/oauth/legacy/grant-type/ro/jwt-bearer`
* `http://auth0.com/oauth/legacy/grant-type/delegation/refresh_token`
* `http://auth0.com/oauth/legacy/grant-type/delegation/id_token`
* `http://auth0.com/oauth/legacy/grant-type/access_token`

Los tipos de concesión heredados son los tipos de concesión tradicionales compatibles únicamente para clientes heredados. Si eres un cliente heredado, te recomendamos encarecidamente migrar a una alternativa más segura.

A partir del 8 de junio de 2017, a todas las aplicaciones se les asignó una propiedad `grant_types` que debe estar rellenada. Para evitar cambios en la funcionalidad para los clientes de Auth0 en ese momento, rellenamos la propiedad `grant_types` de todas las aplicaciones existentes con todos los tipos de concesión heredados de Auth0, las extensiones de Auth0 y los tipos de concesión conformes con la especificación.

A partir de ese momento, los nuevos clientes de Auth0 ya no pudieron agregar tipos de concesión heredados a sus aplicaciones. Los tipos de concesión heredados solo están disponibles para clientes anteriores mientras migran a nuevos flujos, para evitar cambios disruptivos. Si eras cliente antes del 8 de junio de 2017, puedes [habilitar un tipo de concesión heredado](/es/docs/get-started/applications/update-grant-types) usando el <Tooltip tip="Auth0 Dashboard: producto principal de Auth0 para configurar tus servicios." cta="Ver glosario" href="/es/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip> o la <Tooltip tip="Auth0 Dashboard: producto principal de Auth0 para configurar tus servicios." cta="Ver glosario" href="/es/docs/glossary?term=Management+API">Management API</Tooltip> de Auth0.

Si actualmente usas un tipo de concesión heredado, consulta la tabla siguiente para ver cuál de las alternativas seguras deberías usar en su lugar. Por ejemplo, si estás implementando autenticación <Tooltip tip="Passwordless: forma de autenticación que no depende de una contraseña como primer factor." cta="Ver glosario" href="/es/docs/glossary?term=Passwordless">Passwordless</Tooltip>,

usa [Universal Login](/es/docs/authenticate/login/auth0-universal-login) en lugar del endpoint `oauth/ro`.

<div id="grant-type-mapping">
  ## Correspondencia de tipos de concesión
</div>

Al registrarse, las aplicaciones tienen acceso a distintos tipos de concesión según su tipo, concretamente, en función de si la aplicación es confidencial o pública. Además, las aplicaciones propias de confianza tienen acceso a tipos de concesión adicionales.

<div id="public-applications">
  ### Aplicaciones públicas
</div>

Cuando una Native Application o Single-Page Application (SPA) se registra en el Dashboard, se marca automáticamente como aplicación pública, lo que se indica mediante la marca `token_endpoint_auth_method` establecida en `none`. De forma predeterminada, Auth0 crea aplicaciones públicas con los siguientes `grant_types` habilitados:

* `implicit`
* `authorization_code`
* `refresh_token`

Las Native Apps también pueden usar el tipo de concesión `device_code`.

Las aplicaciones públicas no pueden usar el tipo de concesión `client_credentials`. Para usar este tipo de concesión, debes configurar la aplicación como confidencial en lugar de pública. Usa el endpoint [Update a client](https://auth0.com/docs/api/management/v2#!/Clients/patch_clients_by_id) de la Auth0 Management API para establecer `token_endpoint_auth_method` en `client_secret_post,` `client_secret_basic` o `private_key_jwt`. Para obtener más información, consulta [Application Credentials](/es/docs/secure/application-credentials).

<div id="confidential-applications">
  ### Aplicaciones confidenciales
</div>

Cuando se registra una Aplicación Web Regular o una Aplicación de Máquina a Máquina (M2M) en el Auth0 Dashboard, se marca automáticamente como aplicación confidencial, lo que se indica con la marca `token_endpoint_auth_method` establecida en cualquier valor distinto de `none`. De forma predeterminada, Auth0 crea aplicaciones confidenciales con los siguientes `grant_types` habilitados:

* `implicit`
* `authorization_code`
* `refresh_token`
* `client_credentials`

<div id="trusted-first-party-applications">
  ### Aplicaciones propias de confianza
</div>

Las aplicaciones propias de confianza tienen habilitados los mismos `grant_types` que las aplicaciones confidenciales, junto con los siguientes:

* `password`
* `http://auth0.com/oauth/grant-type/password-realm`
* `http://auth0.com/oauth/grant-type/mfa-oob`
* `http://auth0.com/oauth/grant-type/mfa-otp`
* `http://auth0.com/oauth/grant-type/mfa-recovery-code`

Si usas el Dashboard para habilitar o deshabilitar estos tipos de concesión, ten en cuenta que todos los tipos de concesión de `Password` y <Tooltip tip="Autenticación multifactor (MFA): proceso de autenticación de usuarios que utiliza un factor adicional al nombre de usuario y la contraseña, como un código por SMS." cta="Ver glosario" href="/es/docs/glossary?term=MFA">MFA</Tooltip> se habilitan al agregar el tipo de concesión `Password` o `MFA` a tu aplicación. No puedes seleccionarlos individualmente.

<div id="third-party-application-restrictions">
  ## Restricciones de las aplicaciones de terceros
</div>

Las [aplicaciones de terceros](/es/docs/get-started/applications/third-party-applications) admiten un conjunto limitado de tipos de concesión, de acuerdo con las [mejores prácticas de OAuth 2.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1):

| **Tipo de concesión**                          | **Disponible para aplicaciones de terceros** |
| ---------------------------------------------- | -------------------------------------------- |
| `authorization_code`                           | Sí (PKCE obligatorio)                        |
| `refresh_token`                                | Sí                                           |
| `client_credentials`                           | Sí (solo para clientes confidenciales)       |
| `implicit`                                     | No                                           |
| `password`                                     | No                                           |
| `urn:ietf:params:oauth:grant-type:device_code` | No                                           |
| Tipos de concesión de MFA                      | No                                           |
| Tipos de concesión heredados                   | No                                           |

Para obtener más información, consulta [Controles de seguridad para aplicaciones de terceros](/es/docs/get-started/applications/third-party-applications/security-controls).

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

* [Aplicaciones confidenciales y públicas](/es/docs/get-started/applications/confidential-and-public-applications)
* [Aplicaciones de terceros](/es/docs/get-started/applications/third-party-applications)
* [Aplicaciones propias y de terceros](/es/docs/get-started/applications/first-party-and-third-party-applications)
* [Marcadores de posición de URL para subdominios](/es/docs/get-started/applications/wildcards-for-subdomains)
