Authentifizierung
Übersicht
Die API verwendet JWT (JSON Web Token) zur Authentifizierung. Sie müssen ein Token erhalten, indem Sie sich anmelden, und es dann im Authorization-Header für alle geschützten Anfragen einbinden.
Wie JWT-Authentifizierung funktioniert
Führen Sie diese Schritte zur Authentifizierung und Ausführung von API-Anfragen aus:
Anmeldeanfrage senden
Senden Sie eine POST-Anfrage mit E-Mail und Passwort an den Login-Endpoint:
POST /api/v1/auth/login
Content-Type: application/json
{
"email": "[email protected]",
"password": "YourPassword123"
}
JWT-Token erhalten
Bei erfolgreicher Anmeldung erhalten Sie ein JWT-Token in der Antwort:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
Token in Anfragen verwenden
Fügen Sie das Token im Authorization-Header mit Bearer-Präfix ein:
GET /api/v1/user/profile
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...
Registrierung
Die Registrierung ist ein zweistufiger Prozess. Zuerst fordern Sie einen Bestätigungscode an, dann schließen Sie die Registrierung mit dem Code ab.
Bestätigungscode anfordern
Senden Sie Name und E-Mail. Ein 6-stelliger Bestätigungscode wird an die E-Mail gesendet.
POST /api/v1/auth/register
Content-Type: application/json
{
"name": "John Doe",
"email": "[email protected]",
"locale": "en" // optional, from /api/v1/languages
}
Antwort:
{
"success": true,
"message": "Verification code sent to email"
}
Registrierung abschließen
Senden Sie den Bestätigungscode zusammen mit Passwort und anderen Daten zur Kontoerstellung.
POST /api/v1/auth/register/verify
Content-Type: application/json
{
"email": "[email protected]",
"code": "123456",
"password": "SecurePass123!",
"country_code": "UA", // from /api/v1/countries
"phone": "+380501234567", // optional
"locale": "uk" // optional, from /api/v1/languages
}
Antwort:
{
"success": true,
"message": "User registered successfully",
"user": {
"id": 1,
"name": "John Doe",
"email": "[email protected]"
}
}
Anfragefelder Schritt 1
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name |
string | Ja | Vollständiger Name (2-255 Zeichen) |
email |
string | Ja | Gültige E-Mail-Adresse |
locale |
string | Nein | Sprache für E-Mail (von /api/languages) |
Anfragefelder Schritt 2
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
email |
string | Ja | Gültige E-Mail-Adresse |
code |
string | Ja | 6-stelliger Bestätigungscode aus E-Mail |
password |
string | Ja | Min. 8 Zeichen, Groß-, Kleinbuchstaben, Ziffer |
country_code |
string | Ja | Ländercode (von /api/countries) |
phone |
string | Nein | Internationales Format (+380...) |
locale |
string | Nein | Gewünschte Sprache (von /api/languages) |
Token-Lebensdauer
JWT-Token haben eine begrenzte Lebensdauer. Wenn Ihr Token abläuft, erhalten Sie einen 401-Fehler und müssen sich erneut anmelden.
Aktuellen Benutzer abrufen
Um das Token zu überprüfen und Informationen über den aktuellen Benutzer zu erhalten:
GET /api/v1/auth/me
Authorization: Bearer YOUR_TOKEN
Antwort:
{
"id": 1,
"name": "John Doe",
"email": "[email protected]",
"phone": "+380501234567",
"locale": "en",
"country": {
"code": "UA",
"phone_code": "+380"
},
"roles": ["ROLE_USER"],
"is_active": true,
"created_at": "2026-01-03T10:00:00+00:00"
}