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 Benutzername
password(body, string, erforderlich)Passwort

Beispiel-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_CREDENTIALSE-Mail/Benutzername oder Passwort ist falsch.
429 RATE_LIMIT_EXCEEDEDZu 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.

Authentifizierung