Skip to main content
Este tutorial le ayudará a invocar su propia API mediante el Flujo de código de autorización. Si desea obtener más información sobre cómo funciona este flujo y por qué debería usarlo, consulte Flujo de código de autorización. Si desea aprender a agregar Login a su aplicación web tradicional, consulte Agregar Login mediante el Flujo de código de autorización.
Auth0 facilita la implementación del Flujo de en su aplicación mediante:

Requisitos previos

Antes de comenzar este tutorial:
  • Registre su aplicación en Auth0.
    • Seleccione Regular Web Apps como Application Type.
    • Agregue {https://yourApp/callback} como Allowed Callback URL.
    • Asegúrese de que Grant Types de su aplicación incluya código de autorización. Para saber cómo hacerlo, consulte Update Grant Types.
    • Si quiere que su aplicación pueda usar tokens de actualización, asegúrese de que Grant Types de la aplicación incluya refresh token. Para saber cómo hacerlo, consulte Update Grant Types. Para obtener más información sobre los Tokens de actualización, consulte tokens de actualización.
  • Registre su API en Auth0
    • Si quiere que su API reciba tokens de actualización para poder obtener tokens nuevos cuando caduquen los anteriores, habilite Allow Offline Access.

Pasos

Este paso puede incluir uno o más de los siguientes procesos:
  • Autenticar al usuario
  • Redirigir al usuario a un Proveedor de identidad para gestionar la autenticación
  • Comprobar si hay sesiones activas de inicio de sesión único (SSO)
  • Obtener el consentimiento del usuario para el nivel de permisos solicitado, a menos que ya se haya otorgado previamente.
Para autorizar al usuario, tu aplicación debe enviar al usuario a la URL de autorización.

Ejemplo de URL de autorización

Parámetros
Ten en cuenta que, para autorizar a un usuario al llamar a una API personalizada, debes:
  • incluir un parámetro audience
  • puedes incluir alcances adicionales compatibles con la API de destino
Como ejemplo, tu fragmento HTML para la URL de autorización al agregar inicio de sesión a tu aplicación podría verse así:

Respuesta

Si todo sale bien, recibirás una respuesta HTTP 302. El código de autorización se incluye al final de la URL:
Ahora que tienes un código de autorización, debes intercambiarlo por tokens. Con el código de autorización (code) obtenido en el paso anterior, deberás hacer un POST a la URL de token.

Ejemplo de POST a la URL del token

Parámetros

Respuesta

Si todo va bien, recibirás una respuesta HTTP 200 con una carga útil que contiene los valores access_token, refresh_token, id_token y token_type:
Valide sus tokens antes de guardarlos. Para saber cómo hacerlo, lea Validar tokens de ID y Validar tokens de acceso.
Los ID Token contienen información del usuario que debe decodificarse y extraerse.Los tokens de acceso se utilizan para llamar al endpoint /userinfo de la API de autenticación de Auth0 u otra API. Si estás llamando a tu propia API, lo primero que esta deberá hacer es verificar el token de acceso.Los tokens de actualización se utilizan para obtener un nuevo token de acceso o token de ID una vez que el anterior ha expirado. El refresh_token solo estará presente en la respuesta si incluiste el scope offline_access y habilitaste Allow Offline Access para tu API en el Dashboard.
Los tokens de actualización deben almacenarse de forma segura, ya que permiten que un usuario siga autenticado prácticamente de forma indefinida.
Para llamar a su API desde una aplicación web tradicional, la aplicación debe enviar el token de acceso obtenido como Bearer Token en el encabezado Authorization de la solicitud HTTP.
Ya has recibido un token de actualización si has seguido este tutorial y completado los siguientes pasos:
  • configurado la API para permitir el acceso sin conexión
  • incluiste el scope offline_access al iniciar la solicitud de autenticación a través del endpoint de autorización.
Puedes usar el Token de actualización para obtener un nuevo token de acceso. Por lo general, un usuario necesitará un nuevo token de acceso solo después de que el anterior haya expirado o al acceder a un nuevo recurso por primera vez. Llamar al endpoint para obtener un nuevo token de acceso cada vez que se llama a una API es una mala práctica; Auth0 aplica límites de frecuencia que restringen la cantidad de solicitudes al endpoint que se pueden ejecutar usando el mismo token desde la misma IP.Para actualizar tu token, realiza una solicitud POST al endpoint /oauth/token de la Authentication API con grant_type=refresh_token.
Ejemplo de POST a la URL del token
Parámetros
Respuesta
Si todo va bien, recibirás una respuesta HTTP 200 con una carga útil que contiene un nuevo access_token, su duración en segundos (expires_in), los valores de scope otorgados y el token_type. Si el scope del token inicial incluía openid, la respuesta también incluirá un nuevo id_token:
Valide sus tokens antes de guardarlos. Para saber cómo hacerlo, lea Validar ID Tokens y Validar tokens de acceso.

Ejemplos de casos de uso

Personalizar tokens

Puede usar Auth0 Actions para modificar los alcances de un y/o agregar claims personalizados a los tokens de acceso y . Para obtener más información sobre Actions, consulte Comprenda cómo funcionan las Actions de Auth0. Para ello, agregue la siguiente Action de Post-Login, que se ejecutará después de que el usuario se autentique:
Auth0 devuelve la información del perfil en un formato estructurado de claims, tal como lo define la especificación OpenID Connect (OIDC). Esto significa que los claim personalizados agregados a los ID Token o a los tokens de acceso deben ajustarse a las directrices y restricciones para evitar posibles colisiones.

Más información