POST/api/auth/login
Meldet einen Nutzer an und stellt ein Session-JWT sowie ein Refresh-Token aus. Dies ist der einzige Weg, an ein gültiges Zugangstoken für das Dashboard zu gelangen — es gibt kein separates Developer-API-Key-System.
Auth & Absicherung
Keine Authentifizierung erforderlich
Progressive Brute-Force-Drossel pro E-Mail/Benutzername (authGuard) -- 10 Fehlversuche in 5 Minuten führen zu steigender Verzögerung, ab 30 zu Sperre.
Idempotent: Nein
Parameter
identifier(body, string, erforderlich)— E-Mail-Adresse oder Benutzernamepassword(body, string, erforderlich)— PasswortBeispiel-Request
{"identifier":"user@example.com","password":"IhrPasswort"}Beispiel-Response
{"ok":true,"token":"<JWT, 12h gültig>","refreshToken":"<Refresh-Token, 7 Tage gültig, einmalig verwendbar>","user":{"id":"...","tenant_id":"...","email":"user@example.com","role":"EMPLOYEE","roles":[],"permissions":[],"isMasterAdmin":false}}Fehlercodes
401 INVALID_CREDENTIALS — E-Mail/Benutzername oder Passwort ist falsch.429 RATE_LIMIT_EXCEEDED — Zu viele Fehlversuche für diesen Identifier oder diese IP.Live-Test-Nachweis
Erfolg (200, echtes JWT+Refresh-Token) und Negativfall (401 bei falschem Passwort) live gegen isolierten Test-Stack verifiziert.