Zum Inhalt springen
ecdsa.com
jsonwebtoken (Node.js)JWT-Bibliotheken

Fehlermeldung

jwt audience invalid. expected: <audience>

Der Platzhalter wird mit deinem konfigurierten Wert gefüllt, zum Beispiel „jwt audience invalid. expected: api://orders“.

Was der Fehler bedeutet

Das Token hat die kryptografische Prüfung bestanden, aber sein Claim aud passt nicht zu der Audience, die dein Prüfer verlangt. Die Audience-Prüfung gibt es, damit ein für eine API ausgestelltes Token nicht bei einer anderen erneut vorgelegt werden kann – die Signatur belegt, wer das Token ausgestellt hat, aud belegt, für welchen Dienst es ausgestellt wurde, und beide Prüfungen müssen bestanden sein, bevor du den Claims vertrauen kannst.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Inhalt des Tokens mit deiner Erwartung vergleichen

    Gib beide Seiten aus. Korrigiere die Seite, die falsch ist: die Audience-Option des Prüfers oder den Parameter audience/resource, den der Client beim Anfordern des Tokens verwendet.

    js
    const { aud } = jwt.decode(token);
    console.log("token aud:", aud);           // e.g. "api://orders" or ["api://orders"]
    jwt.verify(token, key, {
      algorithms: ["ES256"],
      audience: "api://orders",              // must match exactly (string, array or RegExp)
    });
  2. 2.

    Legitime Varianten explizit akzeptieren

    Sind für diese API wirklich mehrere Bezeichner gültig, liste sie auf – schalte die Audience-Prüfung nicht ab, nur damit der Fehler verschwindet.

    js
    jwt.verify(token, key, {
      algorithms: ["ES256"],
      audience: ["api://orders", "https://api.example.com"],
    });

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen