POST/api/auth/login

Inicia sesión de un usuario y emite un Session JWT y un Refresh Token. Es la única vía para obtener un token de acceso válido al dashboard; no existe un sistema separado de Developer API Keys.

Autenticación y seguridad

No se requiere autenticación

Limitación progresiva de fuerza bruta por correo electrónico/nombre de usuario (authGuard) -- 10 intentos fallidos en 5 minutos provocan un retraso creciente; a partir de 30, se aplica un bloqueo.

Idempotente: No

Parámetros

identifier(body, string, obligatorio)Dirección de correo electrónico o nombre de usuario
password(body, string, obligatorio)Contraseña

Solicitud de ejemplo

{"identifier":"user@example.com","password":"SuContraseña"}

Respuesta de ejemplo

{"ok":true,"token":"<JWT, válido 12h>","refreshToken":"<Refresh-Token, válido 7 días, de un solo uso>","user":{"id":"...","tenant_id":"...","email":"user@example.com","role":"EMPLOYEE","roles":[],"permissions":[],"isMasterAdmin":false}}

Códigos de error

401 INVALID_CREDENTIALSEl correo electrónico/nombre de usuario o la contraseña son incorrectos.
429 RATE_LIMIT_EXCEEDEDDemasiados intentos fallidos para este identificador o esta IP.

Evidencia de prueba en vivo

Éxito (200, JWT + Refresh Token reales) y caso negativo (401 con contraseña incorrecta) verificados live contra un stack de prueba aislado.

Autenticación