Zum Hauptinhalt springen

Authentifizierungsfehler

Detaillierte Erklärungen und Lösungen für authentifizierungsbezogene Fehler.


HTTP 401 Unauthorized

{
"status": 401,
"error": "Unauthorized",
"message": "JWT token is missing or invalid"
}

Checkliste:

PrüfungErwartet
Header-NameAuthorization (grosses A)
Header-Wert-PräfixBearer (mit Leerzeichen nach Bearer)
Token-QuelleFeld token aus der Antwort von /api/v1/login
Token nicht abgelaufenexpireAt über /api/v1/login-extended prüfen
Keine zusätzlichen ZeichenLeerzeichen vor/nach dem Token-String entfernen

HTTP 401 – Token abgelaufen

Token haben eine serverseitig konfigurierte TTL. Nach Ablauf gibt jede Anfrage 401 zurück.

Lösung: Erneut authentifizieren:

curl -X POST "https://label-print-shipments.dpd.ch/api/v1/login" \
-H "Content-Type: application/json" \
-d '{"username": "ihr_benutzer", "password": "ihr_passwort"}'

Vorbeugung – proaktiv vor Ablauf erneuern:

const tokenExpiry = new Date(loginResponse.expireAt);

async function getValidToken() {
const fiveMinuteBuffer = 5 * 60 * 1000;
if (Date.now() > tokenExpiry.getTime() - fiveMinuteBuffer) {
await reAuthenticate();
}
return currentToken;
}

HTTP 400 – Benutzername oder Passwort fehlt

{
"status": 400,
"errors": [{ "field": "username", "message": "must not be blank" }]
}

Lösung: Stellen Sie sicher, dass sowohl username als auch password im Anfrage-Body vorhanden und nicht leer sind.


HTTP 403 – Forbidden (login-extended)

{
"status": 403,
"message": "Auto-login context is missing"
}

Ursache: /api/v1/login-extended erfordert einen Auto-Login-Kontext, der für Ihr Konto nicht eingerichtet ist.

Lösung: Verwenden Sie stattdessen /api/v1/login, oder wenden Sie sich an Ihren DPD-Ansprechpartner.


Anmeldedaten korrekt, aber trotzdem 401?

  1. Prüfen Sie, ob Sie die richtige Umgebungs-URL verwenden (dev vs. staging vs. production)
  2. Stellen Sie sicher, dass Ihr Konto aktiv ist – kontaktieren Sie den DPD-Support
  3. Prüfen Sie, ob Ihre IP-Adresse für den API-Zugriff freigeschaltet werden muss