AUTH_AND_SESSION_CONTROLLER
La API de autenticación de DevOps Monitor utiliza tokens web JSON (JWT) firmados mediante algoritmos simétricos HMAC-SHA256 para establecer sesiones eficientes, consistentes y seguras entre la interfaz Next.js y el backend.
01_LOGIN_AUTHENTICATION
Endpoint: POST /accounts/authenticate
Inicia sesión para un operador registrado. Retorna un token JWT de larga duración necesario para realizar llamadas autenticadas a los microservicios protegidos.
A. Estructura de Petición (Payload)
- Encabezados:
Content-Type: application/json - Cuerpo (JSON):
{
"email": "gerencia@newinntech.com",
"password": "secure_password_string"
}
B. Respuestas del Servidor
- Código
200 OK(Autenticado):
{
"jwtToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"id": 39,
"name": "Gerencia NewInntech",
"email": "gerencia@newinntech.com",
"role": "Admin",
"status": "active"
}
- Código
401 Unauthorized(Error de Credenciales):
{
"status": "error",
"message": "Credenciales inválidas. Por favor intente de nuevo."
}
02_PASSWORD_RECOVERY_FLOW
En caso de pérdida o caducidad de credenciales, el sistema habilita un canal cifrado de restablecimiento temporal de dos pasos:
1. Solicitar Token de Cambio (Forgot Password)
- Endpoint:
POST /accounts/forgot-password - Cuerpo de Petición:
{
"email": "operador@empresa.com"
}
- Efecto: Envía un correo con un token SHA256 de un solo uso que expira en 15 minutos.
2. Confirmar Nueva Contraseña (Reset Password)
- Endpoint:
POST /accounts/reset-password - Cuerpo de Petición:
{
"token": "recieved_token_string",
"password": "new_secure_password_string",
"confirmPassword": "new_secure_password_string"
}
03_OPERATOR_PROFILE_UPDATE
Endpoint: POST /accounts/update/profile
Este endpoint requiere un token JWT válido en el encabezado Authorization: Bearer <token>.
Permite que el operador modifique la información general de su perfil, acepte nuevos términos de servicio o actualice datos corporativos de contacto.
# Ejemplo de llamada segura de actualización de perfil:
curl -X POST "https://devsecops-monitor.newinntech.com/api/accounts/update/profile" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Juan Pérez", "phone": "+573123456789"}'