> ## 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 las formas en que puede autenticar su aplicación con los servicios de Auth0.

# Credenciales de la aplicación

Las aplicaciones confidenciales, a diferencia de las aplicaciones públicas, pueden almacenar credenciales de forma segura. Cuando las aplicaciones confidenciales solicitan acceso o <Tooltip tip="ID Token: Credencial destinada al propio cliente, en lugar de para acceder a un recurso." cta="Ver glosario" href="/es/docs/glossary?term=ID+tokens">tokens de ID</Tooltip> en el [endpoint de token](https://auth0.com/docs/api/authentication#get-token), la aplicación debe autenticarse con el <Tooltip tip="ID Token: Credencial destinada al propio cliente, en lugar de para acceder a un recurso." cta="Ver glosario" href="/es/docs/glossary?term=authorization+server">servidor de autorización</Tooltip>. Durante esta solicitud de tokens, la aplicación proporciona credenciales que posee. Además, las credenciales de la aplicación también pueden ofrecer protección de autenticidad e integridad para los parámetros de solicitud enviados al endpoint [`/authorize`](https://auth0.com/docs/api/authentication#authorize-application).

Para obtener más información sobre las aplicaciones confidenciales y las aplicaciones públicas, lea [Aplicaciones confidenciales y públicas](/es/docs/get-started/applications/confidential-and-public-applications).

<div id="application-authentication-methods">
  ## Métodos de autenticación de aplicaciones
</div>

Para obtener tokens de Auth0, su aplicación debe autenticarse mediante la [Authentication API](https://auth0.com/docs/api/authentication). Auth0 admite las siguientes formas de autenticación para su aplicación:

* **<Tooltip tip="Secreto del cliente: secreto que usa un cliente (aplicación) para autenticarse con el Servidor de autorización; solo deben conocerlo el cliente y el Servidor de autorización, y debe ser lo suficientemente aleatorio como para que no pueda adivinarse." cta="Ver glosario" href="/es/docs/glossary?term=Client+Secret">Secreto del cliente</Tooltip>:** Un método de autenticación simétrico. En la autenticación mediante Secreto del cliente, usa el Secreto del cliente que Auth0 generó cuando creó la aplicación.
* **Private Key <Tooltip tip="JSON Web Token (JWT): formato estándar de ID Token (y, con frecuencia, de Token de acceso) que se usa para representar claims de forma segura entre dos partes." cta="Ver glosario" href="/es/docs/glossary?term=JWT">JWT</Tooltip>:** Un método de autenticación asimétrico. En Private Key JWT, genera un par de claves, una pública y una privada, para usarlas como credenciales. Proporciona la clave pública y almacena de forma segura la clave privada en sus propios sistemas, sin compartirla con Auth0.
* **mTLS para <Tooltip tip="OAuth 2.0: marco de autorización que define protocolos y flujos de autorización." cta="Ver glosario" href="/es/docs/glossary?term=OAuth">OAuth</Tooltip>:** Un método de autenticación asimétrico. En mTLS para OAuth, registra un certificado de cliente X.509 estándar en Auth0. Luego, usa la clave privada correspondiente para establecer de forma segura el túnel mTLS y enviar solicitudes a los endpoints de su inquilino de Auth0.

<div id="client-secret-authentication">
  ### Autenticación con Secreto del cliente
</div>

La autenticación con Secreto del cliente es un método de autenticación simétrico incluido en la [especificación de OAuth 2.0](https://www.rfc-editor.org/rfc/rfc6749#section-2.3). La autenticación con Secreto del cliente es el método de autenticación predeterminado en Auth0.

Este método de autenticación es compatible con todas las aplicaciones y herramientas existentes. El Secreto del cliente es un valor de alta entropía que Auth0 genera cuando usted crea una aplicación y que conocen tanto su aplicación como Auth0. Su aplicación se autentica incluyendo el Secreto del cliente en la solicitud al servidor de autorización.

El uso del Secreto del cliente como credencial conlleva algunos riesgos de seguridad, especialmente en escenarios con mayores exigencias de seguridad:

* El secreto que utiliza la aplicación se comparte con Auth0.
* El secreto se envía a través de la red y podría ser interceptado en caso de un ataque de tipo man-in-the-middle.

<Warning>
  Para mejorar su postura de seguridad, le recomendamos usar el método de autenticación Private Key JWT.
</Warning>

Una aplicación puede tener un único Secreto del cliente. No es posible rotar el secreto mientras actualiza su implementación con el nuevo secreto. Para obtener más información, lea [Rotar Secretos del cliente](/es/docs/get-started/applications/rotate-client-secret).

<div id="private-key-jwt-authentication">
  ### Autenticación con Private Key JWT
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Private Key JWT está disponible para clientes del plan Enterprise. Para cambiar de plan, contacta con [precios de Auth0](https://auth0.com/pricing/).
</Callout>

La autenticación con Private Key JWT es un método de autenticación asimétrica que se basa en pares de claves públicas y privadas. Para obtener más información, lee [JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants](http://tools.ietf.org/html/draft-ietf-oauth-jwt-bearer).

Puedes usar 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 Auth0 <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> para configurar un inquilino para que use Private Key JWT. Para obtener más información, lee [Configurar la autenticación con Private Key JWT.](/es/docs/get-started/applications/configure-private-key-jwt)

En Private Key JWT, una solicitud al servidor de autorización consta de dos pasos principales:

1. Configura las claves públicas y privadas:

   1. [Genera un par de claves](/es/docs/secure/application-credentials/generate-rsa-key-pair) (una clave pública y una clave privada).
   2. Registra la clave privada en la aplicación que realiza la solicitud de autenticación y registra la clave pública en el proveedor de identidad (IdP).
2. Crea aserciones para las solicitudes al servidor de autorización:

   1. Crea una nueva aserción con los claims especificados en formato JWT y fírmala con la clave privada. Incluye esta aserción como parte de la solicitud al IdP.
   2. El IdP valida la aserción mediante la clave pública.

Para configurar Private Key JWT para Auth0, lee [Configurar la autenticación con Private Key JWT](/es/docs/get-started/applications/configure-private-key-jwt). Para obtener más información sobre cómo crear una aserción para Private Key JWT, lee [Autenticación con Private Key JWT](/es/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt).

El uso de Private Key JWT ofrece algunas ventajas de seguridad:

* La clave privada no se transmite por la red, lo que reduce el riesgo de exposición de las credenciales de tu aplicación. Los <Tooltip tip="Proveedor de identidad (IdP): servicio que almacena y administra identidades digitales." cta="Ver glosario" href="/es/docs/glossary?term=Identity+providers">proveedores de identidad</Tooltip> como Auth0 no conocen la clave privada, y solo las aplicaciones que tienen acceso a ella pueden crear solicitudes de autenticación.
* Las aserciones firmadas tienen un tiempo de expiración corto, lo que limita la ventana de oportunidad para ataques de repetición.

<div id="mtls-for-oauth">
  ### mTLS para OAuth
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Para usar las funcionalidades de Highly Regulated Identity, debe tener un Enterprise Plan con el complemento Highly Regulated Identity. Consulte [Auth0 Pricing](https://auth0.com/pricing/) para obtener más información.
</Callout>

[mTLS para OAuth](https://www.rfc-editor.org/rfc/rfc8705) autentica las solicitudes al Servidor de autorización mediante TLS mutuo basado en certificados autofirmados o infraestructura de clave pública (PKI). Lea [Autenticación con mTLS](/es/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls) para obtener más información sobre cómo funciona la autenticación con mTLS en Auth0.

La funcionalidad de mTLS para OAuth de Auth0 está orientada inicialmente a clientes de sectores altamente regulados, como finanzas y salud, que probablemente ya cuenten con implementaciones de mTLS. Para simplificar la adopción por parte de los clientes, la funcionalidad de mTLS se basa en [dominios personalizados](/es/docs/customize/custom-domains) y aprovecha la infraestructura de mTLS existente del cliente para aprovisionar y verificar certificados. Para obtener más información sobre la autenticación con mTLS y la configuración de su red perimetral, lea [Autenticación con mTLS](/es/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls) y [Configurar su customer edge](/es/docs/get-started/applications/configure-mtls/set-up-the-customer-edge).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Puede configurar [alias de endpoints de mTLS](/es/docs/get-started/applications/configure-mtls/configure-mtls-for-a-tenant#enable-mtls-endpoint-aliases) para usar un subdominio específico para mTLS para OAuth.
</Callout>

Para saber cómo configurar mTLS, lea [Configurar la autenticación con mTLS](/es/docs/get-started/applications/configure-mtls). Una vez que haya configurado su red perimetral y mTLS, su aplicación debe establecer el túnel mTLS para enviar solicitudes a Auth0, como se explica en [Llamar al Servidor de autorización](/es/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls#call-the-authorization-server).

En mTLS, la clave privada del certificado del cliente no se transmite por la red, lo que reduce el riesgo de exponer las credenciales de su aplicación. Los Proveedores de identidad como Auth0 no tienen acceso a la clave privada. Solo las aplicaciones que tienen acceso a la clave privada pueden autenticarse.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  mTLS también admite Sender Constraining o Token Binding para proteger los tokens de acceso frente a atacantes. Para obtener más información, lea [Configurar Sender Constraining](/es/docs/secure/sender-constraining/configure-sender-constraining). Token Binding no requiere credenciales de aplicación registradas previamente, como un certificado de cliente, para usarse con mTLS.
</Callout>

<div id="jwt-secured-authorization-request-jar">
  ### Solicitud de autorización protegida con JWT (JAR)
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Para usar las funciones de Highly Regulated Identity, debe tener un plan Enterprise con el complemento Highly Regulated Identity. Consulte [Auth0 Pricing](https://auth0.com/pricing/) para obtener más información.
</Callout>

[JWT-Secured Authorization Request (JAR)](https://datatracker.ietf.org/doc/rfc9101/) es una extensión del protocolo OAuth2 que mejora la seguridad de las solicitudes de autorización. Para ello, utiliza un parámetro de solicitud JSON Web Token (JWT) para proteger la integridad y la confidencialidad de los parámetros de la solicitud de autorización.

Puede usar la [Auth0 Management API](https://auth0.com/docs/api/management/v2) para configurar JAR en su aplicación. La implementación de Auth0 para JAR utiliza criptografía asimétrica: usted registra la clave pública mientras almacena de forma segura la clave privada en su entorno. Para obtener más información, lea [Configure JWT-Secured Authorization Requests](/es/docs/get-started/applications/configure-jar).

Al usar JAR, el cliente crea un JWT que incluye los parámetros de la solicitud de autorización, lo firma con su clave privada y lo envía al servidor de autorización. Luego, el servidor de autorización verifica la firma con la clave pública del cliente y, si la firma es válida, extrae del JWT los parámetros de la solicitud de autorización y procesa la solicitud como de costumbre. Para obtener más información sobre cómo usar JAR, lea [Authorization Code Flow with JWT-Secured Authorization Requests (JAR)](/es/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/authorization-code-flow-with-jar).

<div id="key-and-certificate-registration">
  ### Registro de claves y certificados
</div>

<Warning>
  Debe generar un par de claves distinto para cada tipo de uso de credenciales. Por ejemplo, no reutilice los mismos pares de claves para JAR y la autenticación con Private Key JWT.
</Warning>

Puede registrar dos claves públicas para una aplicación al mismo tiempo. Auth0 se encarga de verificar con la clave adecuada y le permite rotarlas sin tiempo de inactividad. Una vez que se haya eliminado o desactivado la clave antigua, se invalidarán todas las solicitudes firmadas con la clave privada correspondiente.

**Nota:** Auth0 admite los siguientes algoritmos para la autenticación de aplicaciones y la firma de solicitudes de autorización: RS256, RS384 y PS256. Asegúrese de proporcionar las claves adecuadas para cada uno. Para obtener más información, consulte [Configure Private JWT Authentication](/es/docs/get-started/applications/configure-private-key-jwt) y [Configure JWT-Secured Authorization Requests](/es/docs/get-started/authentication-and-authorization-flow/authorization-code-flow/authorization-code-flow-with-jar).

Del mismo modo, para los certificados de cliente mTLS, puede registrar al mismo tiempo dos certificados X.509 de cliente (autofirmados o con el DN del sujeto del certificado de la CA) para una aplicación. Auth0 se encarga de verificar con ambos certificados de cliente, lo que le permite rotar certificados sin tiempo de inactividad.

<div id="update-application-authentication-method">
  ## Actualizar el método de autenticación de la aplicación
</div>

Puede actualizar el método de autenticación de una aplicación en el Auth0 Dashboard. Para obtener más información, consulte [Configuración de credenciales](/es/docs/get-started/applications/credentials).

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

* [Configuración de credenciales](/es/docs/get-started/applications/credentials)
* [Autenticación con Private Key JWT](/es/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt)
* [Rotación de credenciales](/es/docs/get-started/applications/rotate-credentials)
* [Configurar la autenticación con Private Key JWT](/es/docs/get-started/applications/configure-private-key-jwt)
* [Autenticación con mTLS](/es/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls)
