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

# API de autenticación

> La API de autenticación le permite gestionar todos los aspectos de la identidad de los usuarios al usar Auth0. Ofrece endpoints para que sus usuarios inicien sesión, se registren, cierren sesión, accedan a las API y mucho más.

La API de autenticación le permite gestionar todos los aspectos de la identidad de los usuarios al usar Auth0. Ofrece endpoints para que sus usuarios inicien sesión, se registren, cierren sesión, accedan a las API y mucho más.

La API admite varios protocolos de identidad, como [OpenID Connect](https://auth0.com/docs/authenticate/protocols/openid-connect-protocol), [OAuth 2.0](https://auth0.com/docs/authenticate/protocols/oauth), [FAPI](https://auth0.com/docs/secure/highly-regulated-identity#advanced-security-with-openid-connect-fapi-) y [SAML](https://auth0.com/docs/protocols/saml).

<Note>
  Esta API está diseñada para personas que se sienten cómodas trabajando con API RESTful. Si prefiere un enfoque más guiado, consulte nuestros [Quickstarts](https://auth0.com/docs/quickstarts) o nuestras [Bibliotecas](https://auth0.com/docs/libraries).
</Note>

<div id="base-url">
  ## URL base
</div>

La API de autenticación se sirve a través de HTTPS. Todas las URL a las que se hace referencia en la documentación tienen la siguiente base: `https://{yourDomain}`

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

Dispone de cinco opciones para autenticarse con esta API:

* Token de acceso OAuth2
* ID de cliente y aserción de cliente (aplicaciones confidenciales)
* ID de cliente y Secreto del cliente (aplicaciones confidenciales)
* ID de cliente (aplicaciones públicas)
* Autenticación mTLS (aplicaciones confidenciales)

<div id="oauth2-access-token">
  ### Token de acceso OAuth2
</div>

Envíe un Token de acceso válido en el encabezado `Authorization` con el esquema de autenticación `Bearer`.

Un ejemplo es el [endpoint Get User Info](/es/user-profile/get-user-info). En este caso, obtiene un Token de acceso al autenticar a un usuario y, a continuación, puede realizar una solicitud al [endpoint Get User Info](/es/user-profile/get-user-info) usando ese token en el encabezado `Authorization` para recuperar el perfil del usuario.

<div id="client-id-and-client-assertion">
  ### ID de cliente y aserción de cliente
</div>

Genere una [aserción de cliente](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt) que contenga un JSON Web Token (JWT) firmado para autenticarse. En el cuerpo de la solicitud, incluya su ID de cliente, un parámetro `client_assertion_type` con el valor `urn:ietf:params:oauth:client-assertion-type:jwt-bearer` y un parámetro `client_assertion` con su aserción firmada. Consulte [Private Key JWT](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-private-key-jwt) para ver ejemplos.

<div id="client-id-and-client-secret">
  ### ID de cliente y Secreto del cliente
</div>

Envía el ID de cliente y el Secreto del cliente. El método que puedes usar para enviar estos datos depende del [método de autenticación del endpoint de tokens](https://auth0.com/docs/get-started/applications/confidential-and-public-applications/view-application-type) configurado para tu aplicación.

Si usas **Post**, debes enviar estos datos en el cuerpo JSON de la solicitud.

Si usas **Basic**, debes enviar estos datos en el encabezado `Authorization`, con el esquema de autenticación `Basic`. Para generar el valor de tu credencial, concatena tu ID de cliente y tu Secreto del cliente, separados por dos puntos (`:`), y codifícalo en Base64.

Un ejemplo es el [endpoint para revocar el Token de actualización](https://auth0.com/docs/secure/tokens/refresh-tokens/revoke-refresh-tokens). Esta opción está disponible solo para aplicaciones confidenciales (como las aplicaciones que pueden almacenar credenciales de forma segura sin exponerlas a terceros no autorizados).

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

Envíe el ID de cliente. Para las aplicaciones públicas (aplicaciones que no pueden almacenar credenciales de forma segura, como las SPA o las aplicaciones móviles), ofrecemos algunos endpoints a los que se puede acceder solo con el ID de cliente.

Un ejemplo es la [concesión implícita](/es/implicit-flow/authorize).

<div id="mtls-authentication">
  ### Autenticación con mTLS
</div>

Genere un certificado, ya sea [autofirmado](https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#self-signed-certificates) o [firmado por una entidad de certificación](https://auth0.com/docs/get-started/applications/configure-mtls/configure-mtls-for-a-client#certificate-authority-signed-certificates). Luego, [configure la red perimetral del cliente](https://auth0.com/docs/get-started/applications/configure-mtls/set-up-the-customer-edge) que realiza el handshake mTLS.

Una vez que su red perimetral verifique el certificado, reenvíe la solicitud a la red perimetral de Auth0 con los siguientes encabezados:

* La clave de API del dominio personalizado como encabezado `cname-api-key`.
* El certificado del cliente como encabezado `client-certificate`.
* El estado de verificación de la CA del certificado del cliente como encabezado `client-certificate-ca-verified`. Para obtener más información, consulte [Reenviar la solicitud](https://auth0.com/docs/get-started/applications/configure-mtls/set-up-the-customer-edge#forward-the-request-).

Para obtener más información, lea [Autenticar con mTLS](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authenticate-with-mtls).

<div id="parameters">
  ## Parámetros
</div>

En las solicitudes GET, cualquier parámetro que no se especifique como un segmento de la ruta puede pasarse como parámetro de la cadena de consulta HTTP:

`GET https://{yourDomain}/some-endpoint?param=value&param=value`

En las solicitudes POST, los parámetros que no se incluyan en la URL deben codificarse como JSON con un Content-Type de `application/json`:

`curl --request POST --url 'https://{yourDomain}/some-endpoint' --header 'content-type: application/json' --data '{"param": "value", "param": "value"}'`

<Note>
  Una excepción es el [flujo de inicio de sesión único (SSO) iniciado por el IdP con SAML](#idp-initiated-sso-flow), que usa tanto un parámetro de cadena de consulta como un valor `x-www-form-urlencoded`.
</Note>

<div id="testing">
  ## Pruebas
</div>

Puede probar los endpoints con el [Depurador de la API de autenticación](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension).

<div id="authentication-api-debugger">
  ### Depurador de la API de autenticación
</div>

El [Depurador de la API de autenticación](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension) es una extensión de Auth0 que puede utilizar para probar varios endpoints de la API de autenticación.

[Instalar el depurador](https://auth0.com/docs/customize/extensions/authentication-api-debugger-extension)

**Si ya instaló la extensión, vaya directamente al Depurador de la API de autenticación.**

El enlace varía según la región de su inquilino: Oeste de EE. UU., Europa Central o Australia. Para obtener más información sobre las regiones del inquilino, consulte [Crear inquilinos](https://auth0.com/docs/get-started/auth0-overview/create-tenants#region-locality-and-sub-locality).

<div id="configure-connections">
  ### Configurar conexiones
</div>

1. En la pestaña *Configuration*, configura los campos **Application** (selecciona la aplicación que quieras usar para la prueba) y **Connection** (el nombre de la conexión social que se va a usar).

2. Copia la **Callback URL** y añádela a **Allowed Callback URLs** en [Application Settings](https://manage.auth0.com/dashboard/).

3. En la pestaña *OAuth2 / OIDC*, selecciona **OAuth2 / OIDC Login**.

<div id="endpoint-options">
  ### Opciones del endpoint
</div>

Configure otros endpoints con las siguientes opciones:

* Sin contraseña: En la pestaña *OAuth2 / OIDC*, establezca **Username** en el número de teléfono del usuario si `connection=sms`, o en el correo electrónico del usuario si `connection=email`, y **Password** en el código de verificación del usuario. Haga clic en **Resource Owner Endpoint**.
* SSO de SAML:  En la pestaña *Other Flows*, seleccione **SAML**.
* WS-Federation: En la pestaña *Other Flows*, seleccione **WS-Federation**.
* Cierre de sesión: En la pestaña *Other Flows*, seleccione **Logout** o **Logout (Federated)** para cerrar también la sesión del usuario en el Proveedor de identidad.
* Inicio de sesión heredado: En la pestaña *OAuth2 / OIDC*, establezca los campos **ID Token**, **Token de actualización** e **ID de cliente de destino**. Haga clic en **Delegation**.
* Delegación heredada: En la pestaña *OAuth2 / OIDC*, establezca **Username** y **Password**. Haga clic en **Resource Owner Endpoint**.
* Resource Owner heredado:  En la pestaña *OAuth2 / OIDC*, establezca **Username** y **Password** y, a continuación, seleccione **Resource Owner Endpoint**.

<div id="authentications-flows">
  ### Flujos de autenticación
</div>

Configure los flujos de autenticación con las siguientes opciones:

* Flujo de código de autorización: En la pestaña *OAuth2 / OIDC*, establezca el campo **Authorization Code** con el code que obtuvo de [Authorization Code Grant](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow) y **Code Verifier** con la clave. Haga clic en **OAuth2 Code Exchange**.
* Flujo de código de autorización + PKCE: En la pestaña *OAuth2 / OIDC*, establezca el campo **Authorization Code** con el code que obtuvo de [Authorization Code Grant](https://auth0.com/docs/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce) y **Code Verifier** con la clave. Haga clic en **OAuth2 Code Exchange**.
* Flujo de credenciales de cliente:  En la pestaña *OAuth2 / OIDC*, seleccione **OAuth2 Client Credentials**.

<div id="errors">
  ## Errores
</div>

Cuando se produce un error, recibirá un objeto de error. La mayoría de estos objetos contienen un código y una descripción del error para que sus aplicaciones puedan identificar el problema de forma más eficiente.

Si recibe un código de respuesta HTTP `4xx`, puede asumir que se trata de una solicitud incorrecta de su parte.

Los errores `5xx` sugieren un problema del lado de Auth0, por lo que, en este caso, consulte la [página de estado de Auth0](https://status.auth0.com/) y [@auth0status en Twitter](https://twitter.com/auth0status) para comprobar el estado de nuestros sistemas.

En cualquier otro caso, puede usar [nuestras opciones de soporte](#support).

<div id="rate-limiting">
  ## Limitación de velocidad
</div>

La API de autenticación está sujeta a limitación de velocidad. Los límites varían según el endpoint.

Si supera el límite de velocidad establecido para un endpoint determinado, recibirá la respuesta `429 Too Many Requests` con el siguiente mensaje: `Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.`

Para obtener más información sobre la limitación de velocidad, consulte la [política de límites de velocidad de la API de Auth0](https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy).

Tenga en cuenta que, para las conexiones de base de datos, Auth0 limita ciertos tipos de intentos repetidos de inicio de sesión en función de la cuenta de usuario y la dirección IP. Para obtener más información, consulte [Límites de velocidad en la autenticación con usuario/contraseña](https://auth0.com/docs/troubleshoot/customer-support/operational-policies/rate-limit-policy).

<div id="support">
  ## Soporte
</div>

Si tiene algún problema o necesita ayuda con su caso, siempre puede ponerse en contacto con nuestro [equipo de soporte](https://support.auth0.com/).

Tenga en cuenta que, si tiene un plan de suscripción gratuito y no se encuentra dentro del período de prueba de 22 días, no podrá acceder al [Centro de soporte](https://support.auth0.com/) ni abrir tickets. En ese caso, puede solicitar ayuda a través de la [Comunidad de Auth0](https://community.auth0.com/). Para obtener más información sobre nuestro programa de soporte, consulte [Opciones de soporte](https://auth0.com/docs/troubleshoot/customer-support).
