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.
- Quickstarts para aplicaciones web tradicionales: La forma más sencilla de implementar el flujo.
- Authentication API: Si prefiere crear su propia solución, siga leyendo para aprender a invocar nuestra API directamente.
Requisitos previos
-
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
Autoriza al usuario
Autoriza al usuario
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.
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 respuestaHTTP 302. El código de autorización se incluye al final de la URL:Solicita tokens
Solicita tokens
Ahora que tienes un código de autorización, debes intercambiarlo por tokens. Con el código de autorización (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
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 respuestaHTTP 200 con una carga útil que contiene los valores access_token, refresh_token, id_token y token_type: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.Haz una llamada a la API
Haz una llamada a la API
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.
Canjear el token de actualización
Canjear el token de actualización
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_accessal iniciar la solicitud de autenticación a través del endpoint de autorización.
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 respuestaHTTP 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: