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 utilizador
password(body, string, obrigatório)Palavra-passe

Pedido 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_CREDENTIALSO e-mail/nome de utilizador ou a palavra-passe estão incorretos.
429 RATE_LIMIT_EXCEEDEDDemasiadas 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.

Autenticação