Startseite › Bibliothek › REST API › Authentifizierung

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:

1

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"
}
2

JWT-Token erhalten

Bei erfolgreicher Anmeldung erhalten Sie ein JWT-Token in der Antwort:

{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9..."
}
3

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.

1

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"
}
2

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)
Bestätigungscode gültig für: 10 Minuten

Token-Lebensdauer

JWT-Token haben eine begrenzte Lebensdauer. Wenn Ihr Token abläuft, erhalten Sie einen 401-Fehler und müssen sich erneut anmelden.

Token läuft ab nach: 1 Stunde

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"
}