From f480ed00bd741eda3777aa55a5356bae21ddaf1f Mon Sep 17 00:00:00 2001 From: root Date: Tue, 11 Mar 2025 09:28:52 +0100 Subject: [PATCH] =?UTF-8?q?Aktualisiere=20API-Dokumentation=20f=C3=BCr=20l?= =?UTF-8?q?okale=20Authentifizierung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Entferne JWT-Token-basierte Authentifizierung - Füge Endpunkte für Benutzerregistrierung und -anmeldung hinzu - Dokumentiere neuen Endpunkt für initialen Admin-Setup 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- backend/API_DOCS.md | 86 +++++++++++++++++++++++++++++++++------------ 1 file changed, 63 insertions(+), 23 deletions(-) diff --git a/backend/API_DOCS.md b/backend/API_DOCS.md index f2f4506..4f1b674 100644 --- a/backend/API_DOCS.md +++ b/backend/API_DOCS.md @@ -8,35 +8,32 @@ Die Basis-URL für alle API-Anfragen ist: `http://localhost:5000` (Entwicklungsu ## Authentifizierung -Die meisten Endpunkte erfordern eine Authentifizierung. Diese erfolgt über einen JWT-Token, der im Authorization-Header übermittelt wird: +Die meisten Endpunkte erfordern eine Authentifizierung. Diese erfolgt über Cookies/Sessions, die bei der Anmeldung erstellt werden. Die Session wird für 7 Tage gespeichert. -``` -Authorization: Bearer -``` +### Benutzerregistrierung -Der Token wird bei erfolgreicher Anmeldung zurückgegeben und hat eine Gültigkeitsdauer von 24 Stunden. +**Endpunkt:** `POST /auth/register` -### Benutzeranmeldung - -**Endpunkt:** `POST /api/auth/login` - -**Beschreibung:** Meldet einen Benutzer an und gibt einen JWT-Token zurück. +**Beschreibung:** Registriert einen neuen Benutzer im System. **Request-Body:** ```json { - "username": "string", - "password": "string" + "username": "string", // Erforderlich + "password": "string", // Erforderlich + "displayName": "string", // Optional (Standard: username) + "email": "string" // Optional } ``` **Erfolgsantwort:** ```json { - "token": "string", + "message": "Registrierung erfolgreich!", "user": { - "id": 1, + "id": "string", "username": "string", + "displayName": "string", "email": "string", "role": "string" } @@ -46,36 +43,79 @@ Der Token wird bei erfolgreicher Anmeldung zurückgegeben und hat eine Gültigke **Fehlerantwort:** ```json { - "message": "Ungültige Anmeldedaten!" + "message": "Benutzername bereits vergeben!" } ``` -### Benutzerregistrierung +### Benutzeranmeldung -**Endpunkt:** `POST /api/auth/register` +**Endpunkt:** `POST /auth/login` -**Beschreibung:** Registriert einen neuen Benutzer. +**Beschreibung:** Meldet einen Benutzer an und erstellt eine Session. **Request-Body:** ```json { - "username": "string", - "email": "string", - "password": "string" + "username": "string", // Erforderlich + "password": "string" // Erforderlich } ``` **Erfolgsantwort:** ```json { - "message": "Benutzer erfolgreich registriert!" + "message": "Anmeldung erfolgreich!", + "user": { + "id": "string", + "username": "string", + "displayName": "string", + "email": "string", + "role": "string" + } } ``` **Fehlerantwort:** ```json { - "message": "Benutzername bereits vergeben!" + "message": "Ungültiger Benutzername oder Passwort!" +} +``` + +### Initialer Administrator + +**Endpunkt:** `POST /api/create-initial-admin` + +**Beschreibung:** Erstellt einen initialen Admin-Benutzer, falls noch keiner existiert. + +**Request-Body:** +```json +{ + "username": "string", // Erforderlich + "password": "string", // Erforderlich + "displayName": "string", // Optional (Standard: username) + "email": "string" // Optional +} +``` + +**Erfolgsantwort:** +```json +{ + "message": "Administrator wurde erfolgreich erstellt!", + "user": { + "id": "string", + "username": "string", + "displayName": "string", + "email": "string", + "role": "string" + } +} +``` + +**Fehlerantwort:** +```json +{ + "message": "Es existiert bereits ein Administrator!" } ```