Saltar al contenido principal

AUTH_AND_SESSION_CONTROLLER

API_SEC_LOG: SECURE_CHANNEL_ACTIVE

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"}'