Übersicht
Die v2-API verwendet sitzungsbasierte Authentifizierung. Die Anmeldung erfolgt über POST /auth/login. Bei Erfolg wird eine Sitzung aufgebaut und ein CSRF-Token ausgestellt.
Für zustandsändernde Anfragen (POST) ist der X-Fess-CSRF-Token-Header erforderlich. Informationen zum Abrufen und Rotieren des CSRF-Tokens sowie zum gemeinsamen Antwort-Envelope und Fehlermodell finden Sie unter API-Übersicht.
Diese Seite beschreibt die folgenden vier Endpunkte:
Gemeinsame Benutzerinformationen (UserPayload)
Die in den Antworten von GET /auth/me und POST /auth/login enthaltenen Benutzerinformationen werden in einer gemeinsamen UserPayload-Struktur zurückgegeben. Alle Array-Felder sind nicht-null; bei fehlenden Werten wird ein leeres Array zurückgegeben.
Authentifizierungsstatus abrufen
Anfrage
| HTTP-Methode | GET |
| Endpunkt | /api/v2/auth/me |
Ruft den aktuell authentifizierten Benutzer ab. Bei anonymen Aufrufen wird kein Fehler zurückgegeben, sondern authenticated: false. Bei authentifizierten Aufrufen enthält user eine UserPayload.
Antwort
Bei Erfolg (HTTP 200) wird eine Antwort im gemeinsamen Envelope-Format zurückgegeben (Beispiel für authentifizierten Benutzer):
Die einzelnen Elemente von response sind wie folgt beschrieben:
| Feld | Typ | Beschreibung |
|---|---|---|
authenticated | boolean | Gibt an, ob der Benutzer authentifiziert ist. (Pflichtfeld) |
user | object | UserPayload. Ist nur vorhanden, wenn authenticated true ist. |
Fehlerantwort
Anmelden
Anfrage
| HTTP-Methode | POST |
| Endpunkt | /api/v2/auth/login |
Meldet den Benutzer mit Benutzername und Passwort an. Bei erfolgreicher Anmeldung wird die Servlet-Sitzungs-ID rotiert, ein neues CSRF-Token ausgestellt und die Rate-Limit-Buckets der aufrufenden IP und des Zielbenutzers geleert. Bei Überschreitung des Rate-Limits wird ein Retry-After-Header (in Sekunden) beigefügt.
Auch bei bereits authentifizierten Sitzungen wird kein Kurzschluss durchgeführt; die übermittelten Anmeldedaten werden stets überprüft.
return_to muss ein relativer Pfad sein, der dem Muster ^/[A-Za-z0-9_\-/.?&=%:@+~#*!,;]*$ entspricht. Außerdem werden protokollrelative Pfade (führendes //) und Pfade mit ASCII-Steuerzeichen abgelehnt und stillschweigend aus der Echo-Antwort entfernt.
Bemerkung
Dieser Endpunkt ist von der CSRF-Überprüfung ausgenommen (da vor der Anmeldung kein Token vorhanden ist).
Bemerkung
Anders als bei anderen zustandsändernden Endpunkten fasst dieser Endpunkt übermäßig große Request-Bodys und nicht unterstützte Content-Type-Werte zu 400 invalid_request zusammen (andere Endpunkte geben 413 bzw. 415 zurück).
Anfrage-Body (LoginRequest)
Content-Type ist application/json.
Anfrage-Beispiel:
Antwort
Bei Erfolg (HTTP 200, LoginResponse) wird eine Antwort im gemeinsamen Envelope-Format zurückgegeben:
Die einzelnen Elemente von response sind wie folgt beschrieben:
| Feld | Typ | Beschreibung |
|---|---|---|
user | object | UserPayload. |
csrf_token | string | Neues CSRF-Token, das mit der neuen Sitzung verknüpft ist. (Pflichtfeld) |
return_to | string | Wird nur zurückgegeben, wenn der Anfragewert die Zulässigkeitsprüfung bestanden hat. |
Fehlerantwort
Abmelden
Anfrage
| HTTP-Methode | POST |
| Endpunkt | /api/v2/auth/logout |
Meldet den Benutzer ab. Diese Operation ist idempotent; auch wenn keine aktive Sitzung vorhanden ist, wird sie als No-op behandelt und kein Fehler zurückgegeben. Es wird stets ok: true zurückgegeben.
Der X-Fess-CSRF-Token-Header ist erforderlich.
Antwort
Bei Erfolg (HTTP 200, OkResponse) wird eine Antwort im gemeinsamen Envelope-Format zurückgegeben:
Die einzelnen Elemente von response sind wie folgt beschrieben:
Fehlerantwort
Passwort ändern
Anfrage
| HTTP-Methode | POST |
| Endpunkt | /api/v2/auth/password |
Ändert das Passwort des aktuellen Benutzers. Überprüft current_password, wendet die konfigurierte Passwortrichtlinie auf new_password an, invalidiert die aktuelle Sitzung und fordert die SPA durch re_login_required: true zur Weiterleitung zur Anmeldeseite auf.
Da die Sitzung serverseitig zerstört wird, wird kein csrf_token zurückgegeben. Die SPA muss nach erneuter Authentifizierung ein neues Token abrufen.
Der X-Fess-CSRF-Token-Header ist erforderlich.
Anfrage-Body (PasswordChangeRequest)
Content-Type ist application/json.
Antwort
Bei Erfolg (HTTP 200) wird eine Antwort im gemeinsamen Envelope-Format zurückgegeben:
Die einzelnen Elemente von response sind wie folgt beschrieben: