Was ein JWT-Decoder anzeigt
Ein JSON Web Token, oder JWT, ist ein kompaktes Token-Format, das häufig für Authentifizierung, Autorisierung, API-Sitzungen und Identitätsabläufe verwendet wird. Ein JWT hat normalerweise drei durch Punkte getrennte Teile: einen Header, eine Payload und eine Signatur. Header und Payload sind als base64url-kodiertes JSON hinterlegt, das bedeutet, dass sie ohne geheimen Schlüssel dekodiert und gelesen werden können.
Dieser JWT-Decoder konzentriert sich auf die Inspektion. Er formatiert Header und Payload, extrahiert gängige Claims, zeigt rohe Segmente und erklärt zeitbasierte Claims wie iat, nbf, und exp. Das ist nützlich beim Debuggen von Anmeldeabläufen, API-Aufrufen, Testumgebungen, OAuth-Integrationen oder Problemen mit der Token-Lebensdauer.
- Lesen Sie den Token-Algorithmus und den Typ aus dem Header.
- Untersuchen Sie Issuer, Subject, Audience und benutzerdefinierte Payload-Claims.
- Konvertieren Sie NumericDate-Claims in lesbare Datumsangaben.
- Kopieren Sie den dekodierten Header, die dekodierte Payload oder die rohen Token-Segmente.
Dekodierung ist keine Verifikation
Das Dekodieren eines JWT sagt Ihnen, was im Token steht. Es beweist nicht, wer es erstellt hat, ob die Payload verändert wurde, ob die Signatur übereinstimmt oder ob Ihre Anwendung es akzeptieren sollte. Die Signaturüberprüfung erfordert das richtige Secret, den öffentlichen Schlüssel oder eine JWKS-Konfiguration und muss mit dem von der Anwendung erwarteten Algorithmus übereinstimmen.
Der Signaturteil unterscheidet sich vom Header und der Payload. Er ist ein kryptografischer Wert über den kodierten Header und die Payload, kein weiteres JSON-Objekt zum Dekodieren. Diese Seite zeigt die Signatur im Rohsegmente-Ausgabebereich, wenn sie vorhanden ist, fordert jedoch keine Signierschlüssel an und überprüft den Wert nicht.
Behandeln Sie diese Seite als Inspektor, nicht als Autorität. Ein dekodiertes Token kann dennoch gefälscht, abgelaufen, nicht signiert, mit einem unerwarteten Schlüssel signiert oder vom ausstellenden Dienst abgelehnt sein.
Gängige JWT-Claims
| Claim | Meaning | Typische Verwendung |
|---|---|---|
iss | Issuer | Der Dienst oder Identitätsanbieter, der das Token ausgestellt hat. |
sub | Subject | Der Benutzer, das Konto, der Client oder die Entität, auf die sich das Token bezieht. |
aud | Audience | Die API, App oder der Dienst, der das Token erhalten sollte. |
iat | Ausgestellt am | Wann das Token erstellt wurde. |
nbf | Nicht vor | Das Token darf vor diesem Zeitpunkt nicht akzeptiert werden. |
exp | Läuft ab am | Das Token darf nach diesem Zeitpunkt nicht akzeptiert werden. |
Sichere Debugging-Gewohnheiten
- Verwenden Sie nach Möglichkeit Testtokens statt produktiver Benutzertokens.
- Fügen Sie keine Signier-Secrets, privaten Schlüssel oder API-Zugangsdaten in einen Decoder ein.
- Stellen Sie sicher, dass der Algorithmus von Ihrer Anwendung erwartet wird.
- Compare
issandaudVergleichen Sie iss und aud mit dem Dienst, den Sie debuggen. - Beachten Sie, dass Browser- und Serverzeit beim Debuggen von Ablaufproblemen voneinander abweichen können.
Zugehörige lokale Tools
- Verwenden Sie die Base64 Encoder/Decoder wenn Sie gewöhnliche base64-Zeichenfolgen untersuchen müssen. JWTs verwenden base64url, daher ist dieser JWT-Decoder für vollständige Tokens die sicherere Wahl.
- Verwenden Sie die JSON-Beautifier wenn Sie kopierte Payload-Objekte außerhalb des Token-Kontexts formatieren möchten.
- Verwenden Sie die Unix-Zeitstempel-Konverter wenn Sie eine dedizierte Zeitstempelprüfung für NumericDate-Werte wie
iat,nbf, oderexp.
Häufig gestellte Fragen
Verifiziert dieser JWT-Decoder Signaturen?
Nein. Er dekodiert Header und Payload, damit Sie sie untersuchen können, verifiziert jedoch nicht die Signatur und beweist nicht, dass das Token vertrauenswürdig ist. Die Verifikation erfordert das Secret des Ausstellers, den öffentlichen Schlüssel oder eine JWKS-Konfiguration. Die Signatur wird nicht als dekodiertes JSON-Panel angezeigt, weil sie ein kryptografischer Wert und keine lesbaren Claims-Daten ist; dieses Tool zeigt sie nur in der Rohsegmente-Ausgabe an.
Kann jeder ein JWT dekodieren?
Ja, Header und Payload sind kodiert, nicht verschlüsselt, es sei denn, Ihr System verwendet ein separates verschlüsseltes Token-Format. Legen Sie keine Secrets in JWT-Payloads ab.
Was bedeutet ein abgelaufenes JWT?
Wenn der exp Claim in der Vergangenheit liegt, sollte ein Server das Token normalerweise ablehnen. Diese Seite kann den Zeitstempel anzeigen, aber der Server ist die endgültige Autorität.
Warum akzeptiert das Tool ein Bearer-Präfix?
Entwickler kopieren häufig Tokens aus einem Authorization: Bearer ... Header. Authorization: Bearer ... Das Tool entfernt das Präfix, bevor es den Tokenkörper dekodiert.