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

# Controles de seguridad para aplicaciones de terceros

> Obtén información sobre los controles de seguridad que Auth0 aplica a las aplicaciones de terceros, incluidos OAuth 2.1 y la autorización de API.

Auth0 aplica controles de seguridad reforzados a las aplicaciones de terceros para garantizar lo siguiente:

* **Seguridad a nivel de protocolo**: Cumplir con las [prácticas recomendadas de OAuth 2.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1) para garantizar flujos de autorización modernos y seguros.
* **Alcance de las funcionalidades**: Garantizar que las aplicaciones externas solo puedan acceder a los recursos que autorices explícitamente.

<Warning>
  Auth0 refuerza periódicamente la seguridad de las aplicaciones de terceros. En producción, solo deben usarse las funcionalidades documentadas explícitamente como compatibles. Las funcionalidades no compatibles pueden modificarse o restringirse sin previo aviso en futuras actualizaciones.
</Warning>

<div id="oauth-21-standards">
  ## Estándares de OAuth 2.1
</div>

Las aplicaciones de terceros siguen estándares modernos de OAuth:

* **PKCE obligatorio**: Todos los flujos de código de autorización requieren [Proof Key for Code Exchange](/es/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce). Esto evita ataques de interceptación del código de autorización.
* **Tipos de concesión compatibles**: `authorization_code`, `refresh_token` y `client_credentials`.
* **Tipos de concesión implícito y de contraseña no compatibles**: Estos tipos de concesión heredados, que exponen tokens en la URL del navegador o requieren gestionar credenciales directamente, no están disponibles para aplicaciones de terceros.

<div id="explicit-api-authorization">
  ## Autorización explícita de la API
</div>

Las aplicaciones de terceros siempre requieren un [concesión de cliente](/es/docs/get-started/applications/application-access-to-apis-client-grants) para acceder a cualquier API, independientemente de la [política de acceso](/es/docs/get-started/apis/api-access-policies-for-applications) de la API.

| **Política de acceso a la API** | **Aplicaciones propias**      | **Aplicaciones de terceros**  |
| ------------------------------- | ----------------------------- | ----------------------------- |
| Permitir todo                   | Acceso concedido              | Requiere concesión de cliente |
| Requerir concesión de cliente   | Requiere concesión de cliente | Requiere concesión de cliente |
| Denegar                         | Acceso denegado               | Acceso denegado               |

Las aplicaciones de terceros deben tener un concesión de cliente explícito, incluso cuando una API está configurada con una política de **Permitir todo**. Puede configurar permisos por aplicación o [permisos predeterminados para aplicaciones de terceros](/es/docs/get-started/applications/application-access-to-apis-client-grants#default-permissions-for-third-party-applications).

No se puede conceder acceso a las aplicaciones de terceros a [APIs del sistema](/es/docs/get-started/apis#system-apis), como Management API o My Account API.

<div id="machine-to-machine-client-credentials">
  ## De máquina a máquina (credenciales de cliente)
</div>

Las aplicaciones de terceros admiten el tipo de concesión `client_credentials` para el acceso de máquina a máquina. Esto permite integraciones de backend con socios y acceso a API de servidor a servidor sin participación del usuario.

**Requisitos y restricciones:**

* Tipo de cliente: la aplicación debe ser un cliente confidencial (`token_endpoint_auth_method` no debe ser `none`).
* [Organizaciones](/es/docs/manage-users/organizations): se admite el acceso de máquina a máquina con Organizaciones. Se requiere una [concesión de cliente de organización](/es/docs/manage-users/organizations/organizations-for-m2m-applications/configure-your-application-for-m2m-access) explícita para cada organización. La opción `allow_any_organization` no está permitida para aplicaciones de terceros. Las concesiones de cliente predeterminadas para aplicaciones de terceros no se pueden usar para configurar `organization_usage`.
* No está disponible para aplicaciones creadas mediante [Registro dinámico de clientes](/es/docs/get-started/applications/dynamic-client-registration) o [CIMD](/es/docs/get-started/auth0-overview/create-applications/register-applications-with-cimd).

**Extensibilidad:**

* Las [Actions](/es/docs/customize/actions) con el trigger `credentials-exchange` se ejecutan con normalidad en los flujos de acceso de máquina a máquina.

<div id="restricted-client-configuration">
  ## Configuración restringida del cliente
</div>

Solo se puede configurar un conjunto limitado de propiedades del cliente para aplicaciones de terceros. Cuando se agregan nuevas propiedades a Auth0, no están disponibles para aplicaciones de terceros a menos que se revisen explícitamente y se añadan al conjunto admitido.

Entre las principales propiedades admitidas se incluyen:

| **Propiedad**                           | **Notas**                                                                             |
| --------------------------------------- | ------------------------------------------------------------------------------------- |
| `name`, `description`, `logo_uri`       | Metadatos básicos                                                                     |
| `callbacks`                             | URI de redirección                                                                    |
| `allowed_origins`, `web_origins`        | Orígenes de CORS y de `web_message`                                                   |
| `grant_types`                           | Debe ser `authorization_code`, `refresh_token` o `client_credentials`                 |
| `token_endpoint_auth_method`            | Método de autenticación para el endpoint de token                                     |
| `app_type`                              | Debe ser `regular_web`, `spa`, `native` o `non_interactive`                           |
| `client_metadata`                       | Metadatos personalizados de clave-valor                                               |
| `jwt_configuration.lifetime_in_seconds` | Tiempo de vida del token de acceso (el valor predeterminado es 3600)                  |
| `jwt_configuration.alg`                 | Algoritmo de firma (debe ser `RS256`; `HS256` no es compatible)                       |
| `refresh_token.*`                       | Configuración de rotación, expiración, tolerancia y duración                          |
| `client_authentication_methods`         | JWT de clave privada (`private_key_jwt` únicamente; sin mTLS)                         |
| `require_proof_of_possession`           | Configuración de DPoP                                                                 |
| `redirection_policy`                    | Comportamiento de redirección para flujos de error y plantillas de correo electrónico |

Para consultar la lista completa de propiedades admitidas, consulte el endpoint [Create a Client](https://auth0.com/docs/api/management/v2/clients/post-clients) en la referencia de la Management API.

<div id="client-id-format">
  ## Formato del ID de cliente
</div>

Las aplicaciones de terceros tienen un `client_id` con el prefijo `tpc_` asignado en el momento de su creación. Este prefijo permite a Auth0 clasificar y gestionar por separado el tráfico de aplicaciones de terceros, incluidos los límites de tasa para estas aplicaciones.

El modo de seguridad y la titularidad de la aplicación son decisiones de diseño permanentes:

* `third_party_security_mode` no se puede cambiar después de la creación.
* Las aplicaciones de terceros no se pueden convertir en aplicaciones propias, ni viceversa.

<div id="refresh-token-settings">
  ## Configuración del token de actualización
</div>

Las aplicaciones de terceros imponen una configuración segura para los tokens de actualización:

* **Expiración obligatoria**: No se admiten los tokens de actualización sin vencimiento. No se admite una duración de inactividad infinita.
* **Rotación habilitada de forma predeterminada para clientes públicos**: Las SPA y las aplicaciones nativas de terceros tienen habilitada de forma predeterminada la rotación de tokens de actualización, en consonancia con los requisitos de [OAuth 2.1](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1) y [MCP](https://modelcontextprotocol.io/specification/draft/basic/authorization).
* **Configurable**: Los administradores pueden ajustar la rotación, el margen de tolerancia y la duración para las aplicaciones de terceros creadas manualmente.

<div id="redirect-protection">
  ## Protección contra redirecciones
</div>

La propiedad `redirection_policy` controla cómo Auth0 gestiona las redirecciones para aplicaciones de terceros. Acepta dos valores:

| **Valor**                                                                       | **Comportamiento**                                                                                                                                                                          |
| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `open_redirect_protection` (valor predeterminado para aplicaciones de terceros) | Auth0 no redirige al callback de la aplicación cuando se producen errores de autenticación. La variable `application.callback_domain` no se expone en las plantillas de correo electrónico. |
| `allow_always`                                                                  | Comportamiento de redirección estándar.                                                                                                                                                     |

Las redirecciones sin interacción del usuario pueden ser un vector de ataque de phishing cuando la URI de redirección está controlada por un tercero no confiable (redirección abierta). Establezca `redirection_policy` en `allow_always` solo para aplicaciones cuyas URI de callback configuradas sean confiables.

Cuando `open_redirect_protection` está activa:

* Los errores de autenticación muestran una página de error en lugar de redirigir a la aplicación.
* Las plantillas de correo electrónico (verificación de correo electrónico, restablecimiento de contraseña, usuario bloqueado) no tendrán acceso a `{{ application.callback_domain }}`, por lo que debe configurarse un valor de respaldo junto con cualquier uso de `{{ application.callback_domain }}`. Por ejemplo:

```liquid wrap lines theme={null}
{% if application.callback_domain == '' %}
  https://YOUR_FALLBACK_DOMAIN
{% endif %}
{% if application.callback_domain != '' %}
  {{ application.callback_domain }}/result-page
{% endif %}
```

<div id="authorize-parameter-validation">
  ## Validación de parámetros de `/authorize`
</div>

Auth0 valida los parámetros enviados al endpoint `/authorize` para aplicaciones de terceros. Solo se aceptan parámetros estándar de OAuth 2.0 y OpenID Connect.

**Parámetros permitidos:**

* `acr_values`
* `audience`
* `authorization_details`
* `client_id`
* `code_challenge`
* `code_challenge_method`
* `connection`
* `correlation_id`
* `display`
* `dpop_jkt`
* `ext-*` (parámetros personalizados)
* `login_hint`
* `max_age`
* `nonce`
* `prompt`
* `redirect_uri`
* `resource`
* `response_type`
* `scope`
* `state`
* `ui_locales`

**No admitidos:**

* `claims`
* `id_token_hint`
* `invitation`
* `login_ticket`
* `request` (JAR)
* `request_uri` (PAR)
* `screen_hint`

Las solicitudes que incluyen parámetros no admitidos devuelven un error `invalid_request`.

<div id="backward-compatibility">
  ## Compatibilidad con versiones anteriores
</div>

Es posible que algunos inquilinos que usaban aplicaciones de terceros antes de abril de 2026 tengan aplicaciones que operen con configuraciones de seguridad distintas para garantizar la compatibilidad con versiones anteriores. Para obtener más información, consulte [Modo permisivo para aplicaciones de terceros](/es/docs/get-started/applications/third-party-applications/permissive-mode).

<div id="features-not-supported">
  ## Funciones no compatibles
</div>

Las siguientes funciones no son compatibles con las aplicaciones de terceros:

| **Función**                                                                          | **Estado**                                                                                                                                                                                 |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **alcances de OIDC y tokens de ID**                                                  | No se admite. Está previsto para una versión futura.                                                                                                                                       |
| **endpoint `/userinfo`**                                                             | No se admite.                                                                                                                                                                              |
| **API del sistema de Auth0** (Management API, MFA API, My Account API, My Orgs API)  | No se admite. Las aplicaciones de terceros no pueden acceder a las API del sistema en los flujos de usuario.                                                                               |
| **MFA durante el intercambio de un Token de actualización**                          | No se admite. Las transacciones de Token de actualización que activen MFA producirán un error.                                                                                             |
| **Rules**                                                                            | No se admite. Los inquilinos con Rules activas recibirán un error cuando una aplicación estricta de terceros active un flujo de inicio de sesión.                                          |
| **Hooks** (credentials-exchange)                                                     | No se admite. Los inquilinos con un Hook `credentials-exchange` activo recibirán un error. Migre a [Actions](/es/docs/customize/actions) para la extensibilidad de `credentials-exchange`. |
| **endpoints no OAuth de Authentication API** (`/dbconnections/*`, `/passwordless/*`) | No se admite.                                                                                                                                                                              |
| **endpoints heredados** (`/delegation`, `/oauth/ro`)                                 | No se admite.                                                                                                                                                                              |
| **SAML, WsFed**                                                                      | No se admite.                                                                                                                                                                              |
| **Classic Login**                                                                    | No se admite. Use [Universal Login](/es/docs/authenticate/login/auth0-universal-login).                                                                                                    |
| **PAR, CIBA, Device Code**                                                           | No se admite. Está previsto para una versión futura.                                                                                                                                       |
| **endpoints de cierre de sesión**                                                    | No se admite. Use `POST /oauth/revoke` para revocar tokens.                                                                                                                                |
| **autenticación de origen cruzado**                                                  | No se admite.                                                                                                                                                                              |
| **cierre de sesión por canal secundario**                                            | No se admite. Está previsto para una versión futura.                                                                                                                                       |
| **importación del ID de cliente**                                                    | No se admite.                                                                                                                                                                              |
| **subdominios comodín en las URL**                                                   | No se admite. Las URL de devolución de llamada, los orígenes permitidos y los orígenes web deben usar URL exactas.                                                                         |

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

* [Aplicaciones de terceros](/es/docs/get-started/applications/third-party-applications)
* [Configurar aplicaciones de terceros](/es/docs/get-started/applications/third-party-applications/configure-third-party-applications)
* [Solucionar problemas con aplicaciones de terceros](/es/docs/get-started/applications/third-party-applications/troubleshooting)
* [Acceso de las aplicaciones a las API: concesiones de cliente](/es/docs/get-started/applications/application-access-to-apis-client-grants)
* [Modo permisivo para aplicaciones de terceros](/es/docs/get-started/applications/third-party-applications/permissive-mode)
