Login Endpoint - Español
Descripción
Este endpoint autentica a los usuarios validando un token de acceso de Auth0 y un correo electrónico codificado en Base64. Si la autenticación es exitosa, genera un JWT para la sesión del usuario y una URL que permitira al usuario ser redirigido a la aplicación.
URL
POST /api/login
Autenticación
Token Requerido: Access token de Auth0
- Obtener el Token: Debes registrar tu aplicación con Auth0 y configurarla para utilizar el flujo de autorización que mejor se adapte a tus necesidades (por ejemplo, Client Credentials, Authorization Code, etc.). El token de acceso debe solicitarse a Auth0 utilizando el
client_id,client_secrety los scopes adecuados que permitan acceder a este endpoint. - Uso del Token: El token de acceso debe ser incluido en todas las solicitudes al endpoint de login en el header de autorización como un Bearer Token.
Headers
| Key | Value | Description |
|---|---|---|
| Authorization | Bearer {token} | Token de acceso de Auth0 necesario para la autenticación. |
Parámetros del cuerpo (Body)
| Parámetro | Requerido | Tipo | Descripción |
|---|---|---|---|
| Sí | String | Correo electrónico del usuario codificado en base64. | |
| redirect_url | Sí | String | URL a la que se redirigirá al usuario si el token del callback está vencido o es inválido. |
Ejemplo de Petición
curl -X POST "https://yourdomain.com/api/login" \
-H "Authorization: Bearer {auth0_access_token}" \
-H "Content-Type: application/json" \
-d '{"email": "dXNlckBleGFtcGxlLmNvbQ==", "redirect_url": "https://yourdomain.com/login"}'
Respuestas
Success Response
Código: 200 OK
Contenido del cuerpo:
{
"status": "success",
"url": "https://yourdomain.com/site/callback?token=jwt_token_here&redirect_url=url_to_redirect",
"token": "jwt_token_here",
"expires_in": 1718082360,
"message": "User logged in"
}
Descripción: La respuesta incluye el estado de la operación, un mensaje descriptivo, y una URL con el JWT generado y la url de redirección en caso de error como parámetro.
Error Responses
Contenido del cuerpo:
{
"status": "error",
"message": "Unauthorized or invalid token"
}
Descripción: Se retorna cuando el token de Auth0 no es válido o ha expirado.
Código: 400 Bad Request
Contenido del cuerpo:
{
"status": "error",
"message": "Email is required"
}
Descripción: Se retorna cuando no se ha incluido el correo electrónico en la solicitud.
Datos de Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| status | string | Estado de la respuesta, puede ser "success" o "error". |
| url | string | URL a la que el cliente puede ser redirigido, incluye el JWT en respuestas exitosas y la url de redireccion en caso que el callback genere error |
| token | string | El JWT generado para la sesión del usuario. |
| expires_in | int | Tiempo de expiración del token en segundos. |
| message | string | Mensaje descriptivo sobre el resultado de la operación. |
Tabla de Posibles Valores de Error en Message
| Código | Mensaje | Descripción |
|---|---|---|
| 401 | Unauthorized or invalid token | Indica que el token de Auth0 proporcionado es inválido o está vencido. |
| 400 | Email is required | No se proporcionó un correo electrónico en el cuerpo de la solicitud. |
| 400 | Username invalid | El nombre de usuario no existe en el sistema. |
| 400 | User doesn't have any licence | El usuario no tiene la licencia necesaria. |
| 400 | User doesn't have a profile | El usuario no tiene un perfil asociado. |
| 400 | Unknown error | Ocurrió un error no especificado. |