Endpoints: Account‐Component - bjoern621/PeerDrop GitHub Wiki
Account Component
Hier befindet sich die Endpunkt-Dokumentation des Account-Components.
1. Account erstellen
URI
POST /accounts
Beschreibung
Legt einen neuen Benutzer an.
Request
{
"username" : "string",
"password" : "string"
}
Felder
username: Benutzername, Länge 3-100 Zeichenpassword: Passwort in Klartext, Länge 6-100 Zeichen
Response
- Status 201 (Created):
{ "id" : "string" } - Status 400 (Bad Request):
{ "error" : "Invalid JSON format." }{ "error" : "Missing account data." } - Status 409 (Conflict):
{ "error" : "Username already exists." }
2. Einloggen
URI
POST /login
Beschreibung
Loggt den Benutzer ein. Speichert dafür die User ID in Session und setzt auf dem Client-Gerät einen entsprechenden Cookie.
Request
{
"username" : "string",
"password" : "string"
}
Felder
username: Benutzername, Länge 3-100 Zeichenpassword: Passwort in Klartext, Länge 6-100 Zeichen
Response
- Status 200 (OK):
{ "message" : "Logged in successfully" } - Status 400 (Bad Request):
{ "error" : "Invalid JSON format." }{ "error" : "Invalid username" }{ "error" : "Invalid password" }{ "error" : "Missing account data." }
3. Ausloggen
URI
POST /logout
Beschreibung
Loggt den Benutzer aus. Bereinigt dafür die Session und entfernt den Cookie auf dem Client-Gerät.
Request
Kein Body.
Response
- Status 200 (OK):
{ "message" : "Logged out successfully" }
4. Benutzerprofil laden
URI
GET /me
Beschreibung
Gibt den Benutzernamen des Accounts zurück, wenn das Client-Gerät in der aktuellen Session angemeldet ist.
Request
Kein Body.
Response
- Status 200 (OK):
Felder:{ "message" : "string" }message: Benutzername
- Status 401 (Unauthorized):
Kein Body. Wird zurückgegeben, wenn:
- Benutzer nicht eingeloggt ist oder
- Benutzerprofil nicht in Datenbank gespeichert ist.
5. Eingeloggt-Status abfragen
URI
GET /me/status
Beschreibung
Gibt zurück, ob das Client-Gerät angemeldet ist.
Request
Kein Body.
Response
- Status 200 (OK):
Wenn das Client-Gerät in der Session angemeldet ist.{ "status" : true }
Wenn das Client-Gerät in der Session nicht angemeldet ist, oder{ "status" : false }- der Benutzeraccount nicht existiert, oder
- der Cookie des Clients ein falsches Format hat.