Saltar al contenido principal
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, OAuth 2.0, FAPI y SAML.
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 o nuestras Bibliotecas.

URL base

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}

Métodos de autenticación

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)

Token de acceso OAuth2

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. 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 usando ese token en el encabezado Authorization para recuperar el perfil del usuario.

ID de cliente y aserción de cliente

Genere una aserción de cliente 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 para ver ejemplos.

ID de cliente y Secreto del cliente

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

ID de cliente

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.

Autenticación con mTLS

Genere un certificado, ya sea autofirmado o firmado por una entidad de certificación. Luego, configure la red perimetral del cliente 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.
Para obtener más información, lea Autenticar con mTLS.

Parámetros

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"}'
Una excepción es el flujo de inicio de sesión único (SSO) iniciado por el IdP con SAML, que usa tanto un parámetro de cadena de consulta como un valor x-www-form-urlencoded.

Ejemplos de código

Para cada endpoint, encontrará fragmentos de ejemplo que puede usar en tres formatos:
  • Solicitud HTTP
  • Comando de cURL
  • JavaScript: según el endpoint, cada fragmento puede usar la biblioteca Auth0.js, código de Node.js o JavaScript simple
Cada solicitud debe enviarse con un Content-Type de application/json.

Pruebas

Puede probar los endpoints con el Depurador de la API de autenticación.

Depurador de la API de autenticación

El Depurador de la API de autenticación es una extensión de Auth0 que puede utilizar para probar varios endpoints de la API de autenticación. Instalar el depurador 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.

Configurar conexiones

  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.
  3. En la pestaña OAuth2 / OIDC, selecciona OAuth2 / OIDC Login.

Opciones del endpoint

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.

Flujos de autenticación

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

Errores

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 y @auth0status en Twitter para comprobar el estado de nuestros sistemas. En cualquier otro caso, puede usar nuestras opciones de soporte.

Limitación de velocidad

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

Soporte

Si tiene algún problema o necesita ayuda con su caso, siempre puede ponerse en contacto con nuestro equipo de soporte. 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 ni abrir tickets. En ese caso, puede solicitar ayuda a través de la Comunidad de Auth0. Para obtener más información sobre nuestro programa de soporte, consulte Opciones de soporte.