Login Endpoint - Español
Descripción
Este endpoint permiteautentica a los usuarios autenticarsevalidando utilizandoun token de acceso de Auth0 y un correo electrónico codificado en base64Base64. ySi unla tokenautenticación dees acceso generado por Auth0. Una vez autenticados, el sistemaexitosa, genera un JWT (JSONpara Webla Token)sesión quedel seusuario. envíaSi comoel partetoken proporcionado de laAuth0 está vencido o es inválido, el usuario será redirigido a una URL en la respuesta para futuras autenticaciones y sesiones seguras.especificada.
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í | Sí | Correo electrónico del usuario codificado en base64. | |
| redirect_url | No | No | URL a la que se redirigirá al usuario si el token de Auth0 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",
"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 como parámetro para la redirección del usuario.
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. |
| 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 |
|---|---|---|
| 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. |
Ejemplo de uso
Solicitud:
curl -X POST "https://yourdomain.com/api/login" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_auth0_access_token" \
-d '{"email": "dXNlckBleGFtcGxlLmNvbQ=="}'Respuesta:
{
"status": "success",
"url": "https://yourdomain.com/site/callback?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"message": "User logged in"
}