Este tutorial le ayudará a llamar a su propia API con el Flujo híbrido. Si desea obtener más información sobre cómo funciona este flujo y por qué debería usarlo, consulte Flujo híbrido.
- Authentication API: Si prefiere crear su propia solución, siga leyendo para aprender a llamar directamente a nuestra API.
Requisitos previos
-
Registre su aplicación en Auth0.
- Seleccione el Tipo de aplicación adecuado.
- Agregue una URL de callback permitida:
{https://yourApp/callback}. - Asegúrese de que los Tipos de concesión de su aplicación incluyan Implícito y Código de autorización. Para saber cómo hacerlo, consulte Actualizar tipos de concesión.
- Si desea que su aplicación pueda usar Tokens de actualización, asegúrese de que los Tipos de concesión de la aplicación incluyan Token de actualización. Para saber cómo hacerlo, consulte Actualizar tipos de concesión. Para obtener más información sobre los Tokens de actualización, consulte Tokens de actualización.
-
Registre su API en Auth0
- Si desea que su API reciba Tokens de actualización para poder obtener tokens nuevos cuando caduquen los anteriores, habilite Permitir acceso sin conexión.
Pasos
- Autorizar al usuario: Solicite autorización al usuario y rediríjalo de vuelta a su aplicación con un código de autorización.
- Solicitar tokens: Intercambie su código de autorización por tokens.
- Llamar a la API: Use el Token de acceso obtenido para llamar a su API.
- Renovar tokens: Use un Token de actualización para solicitar tokens nuevos cuando los actuales expiren.
- Autenticar al usuario
- Redirigir al usuario a un para gestionar la autenticación
- Comprobar si existen sesiones activas de (SSO)
- Obtener el consentimiento del usuario para el nivel de permisos solicitado, a menos que ya se haya otorgado previamente.
Parámetros
- incluir un parámetro
- incluir alcances adicionales compatibles con la API de destino
Como ejemplo, tu fragmento HTML para la URL de autorización al agregar el inicio de sesión a tu aplicación podría verse así:
Respuesta
HTTP 302. Las credenciales solicitadas están codificadas en el cuerpo:
response_type.
Auth0 también devolverá cualquier valor de
state que haya incluido en su llamada a la URL de autorización.
Cuando decodifique y analice su , observará un claim adicional, c_hash, que contiene un hash del code. Este claim es obligatorio cuando se emite un token de ID al mismo tiempo que un code, y debe validarlo:
- Con el algoritmo hash especificado en el claim
algdel encabezado del ID Token, calcule el hash de los octetos de la representación ASCII delcode. - Codifique en Base64url la mitad izquierda del hash.
- Compruebe que el resultado coincida con el valor de
c_hash.
Solicitar tokens
code) en el paso anterior, deberá enviar una solicitud POST a la URL del token.
El que reciba en este paso es el que debe usar para llamar a su API. Asegúrese de mantenerlo separado del token de acceso que recibió en el paso anterior de este tutorial.
Ejemplo de POST a la URL del token
Parámetros
Respuesta
HTTP 200 con una carga útil que incluye 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.
Llamar a la API
Tokens de actualización
- configuró su API para permitir acceso sin conexión
- incluyó 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 solicitud POST a la URL del token
Parámetros
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 token_type. Si el scope del token inicial incluía openid, la respuesta también incluirá un nuevo id_token: