POST/api/auth/login
Inicia sessão de um utilizador e emite um Session JWT e um Refresh Token. É a única forma de obter um token de acesso válido para o dashboard — não existe sistema separado de Developer API Key.
Autenticação e segurança
Não é necessária autenticação
Limitação progressiva de brute force por e-mail/nome de utilizador (authGuard) -- 10 tentativas falhadas em 5 minutos provocam um atraso crescente; a partir de 30, é aplicado um bloqueio.
Idempotente: Não
Parâmetros
identifier(body, string, obrigatório)— Endereço de e-mail ou nome de utilizadorpassword(body, string, obrigatório)— Palavra-passePedido de exemplo
{"identifier":"user@example.com","password":"IhrPasswort"}Resposta de exemplo
{"ok":true,"token":"<JWT, válido 12h>","refreshToken":"<Refresh-Token, válido 7 dias, utilização única>","user":{"id":"...","tenant_id":"...","email":"user@example.com","role":"EMPLOYEE","roles":[],"permissions":[],"isMasterAdmin":false}}Códigos de erro
401 INVALID_CREDENTIALS — O e-mail/nome de utilizador ou a palavra-passe estão incorretos.429 RATE_LIMIT_EXCEEDED — Demasiadas tentativas falhadas para este identificador ou IP.Evidência de teste live
Sucesso (200, JWT+Refresh Token reais) e caso negativo (401 com palavra-passe errada) verificados live contra stack de teste isolado.