Header dekodieren
JSONNach dem Einfügen des JWT wird der analysierte Inhalt hier angezeigt.
Untersuchen Sie einen JSON-Web-Token-Header und eine Nutzlast. Dieses Tool validiert keine Signaturen und die Verarbeitung bleibt in Ihrem Browser.
Fügen Sie das JWT unten ein, um es sofort zu dekodieren, zu prüfen und zu verifizieren.
Warten auf die Eingabe des JSON-Web-Tokens.
Nach dem Einfügen des JWT wird der analysierte Inhalt hier angezeigt.
Nach dem Einfügen des JWT wird der analysierte Inhalt hier angezeigt.
Die Signatur wird nach der Dekodierung hier angezeigt.
Geben Sie das Geheimnis ein, das beim Ausstellen des JWT verwendet werden soll. Die HS256-Verifizierung wird nativ in Ihrem Browser durchgeführt.
Bearbeiten Sie den Header und den Payload-JSON und verwenden Sie die HS256-Signatur.
Bereiten Sie sich auf die Generierung von JWT vor.
Dieser Satz von Token eignet sich für lokale Tests und Entwicklungs-Debugging.
JWT ist ein Token-Format, das häufig für die Anmeldung, API-Überprüfung und dienstübergreifende Autorisierung verwendet wird. Es besteht aus drei Abschnitten: Header, Payload und Signature.
Nutzlastinhalte können dekodiert und gelesen werden und vertrauliche Informationen sollten nicht in JWT-Ansprüchen platziert werden.
Diese Seite unterstützt die Überprüfung und Generierung von HS256-Signaturen, sodass Sie leicht überprüfen können, ob das Testumgebungstoken mit demselben Geheimnis erstellt wurde.
Die gesamte JWT-Dekodierung, Kodierung und Signaturüberprüfung erfolgt nativ im Browser.
JWT SEO-WISSENSBASIS
Wenn Sie nach „JWT Decoder“, „JWT Decoder“, „JSON Web Token Parsing“, „JWT Verify“ oder „JWT Encoder“ suchen, bedeutet dies normalerweise, dass Sie bereits über ein Token verfügen und dessen Header, Nutzlast, Ablaufzeit, Signaturalgorithmus und Ansprüche schnell verstehen müssen. Auf dieser Seite werden nicht nur Online-JWT-Dekodierungstools bereitgestellt, sondern auch die Grundkenntnisse von JWT organisiert, nach denen Entwickler häufig fragen.
JWT ist die Abkürzung für JSON Web Token. Es handelt sich um ein Token-Format, das JSON zur Darstellung von Informationen verwendet und diese dann in eine vereinfachte Zeichenfolge umwandelt. Es wird häufig bei Front-End- und Back-End-Trennungswebsites, App-APIs, Mitgliederanmeldungen, Single-Sign-On-SSO, Microservice-Autorisierung und Datenaustausch zwischen Diensten verwendet.
Für die JWT-Dekodierung ist kein Passwort erforderlich, da Header und Payload nur Base64URL-codiert und nicht verschlüsselt sind. Jeder, der das Token erhält, kann den JWT-Decoder verwenden, um den Inhalt der Nutzlast anzuzeigen. Ansprüche dürfen daher keine Passwörter, API-Schlüssel oder vertraulichen persönlichen Informationen enthalten.
Der häufigste Anwendungsfall ist die Autorisierung. Nachdem sich der Benutzer erfolgreich angemeldet hat, gibt der Autorisierungsserver ein JWT aus. Wenn das Front-End oder die App anschließend die API aufruft, wird das Token im HTTP-Autorisierungsheader platziert, z. B. Authorization: Bearer .
JWT wird auch häufig für den Informationsaustausch verwendet. Wenn zwei Systeme verifizierbare Daten austauschen müssen, ermöglichen Signaturen dem Empfänger, zu bestätigen, dass die Daten während der Übertragung nicht verändert wurden. Der JWKS-Endpunkt wird häufig in großen Systemen verwendet, um öffentliche Schlüssel offenzulegen, damit verschiedene Dienste die Quelle des Tokens überprüfen können.
Ein Standard-JWT besteht normalerweise aus drei durch Punkte getrennten Base64URL-Zeichenfolgen: Header.Payload.Signature. Der erste Abschnitt von Header beschreibt den Tokentyp und den Signaturalgorithmus, der zweite Abschnitt von Payload enthält Ansprüche und der dritte Abschnitt von Signature dient der Überprüfung der Integrität.
Zu den häufig registrierten Ansprüchen gehören iss, sub, aud, exp, nbf, iat und jti. Eine gute API-Validierung überprüft normalerweise mindestens exp, iss und aud.
Der typische Vorgang ist: Der Benutzer meldet sich an, autorisiert den Server, das Kontokennwort oder das Anmeldeergebnis eines Drittanbieters zu überprüfen, und stellt dann ein Zugriffstoken aus. Das Front-End hängt das Zugriffstoken an die API-Anfrage an. Die Back-End-API überprüft das Token und gibt geschützte Daten zurück.
JWT ist kein universeller Sitzungsersatz. Sobald ein Token ausgegeben wurde, kann es normalerweise überprüft werden, ohne dass die Datenbank vor Ablauf überprüft werden muss. Der Token-Widerruf, sofortige Berechtigungsänderungen und die Abmeldeverarbeitung müssen jedoch noch entworfen werden.
Unter JWT-Validierung versteht man in der Regel die Prüfung, ob das Token die erwarteten Regeln erfüllt, z. B. ob es drei Segmente hat, ob es dekodiert werden kann, ob das JSON legal ist, ob es abgelaufen ist, ob der Aussteller korrekt ist und ob die Zielgruppe der aktuellen API entspricht.
Die JWT-Verifizierung verwendet den angegebenen Algorithmus und Schlüssel, um die Signatur neu zu berechnen und sie dann mit der dritten Signatur des Tokens zu vergleichen. Die Fähigkeit, die Nutzlast zu verstehen, bedeutet nicht, dass der Token vertrauenswürdig ist; Die offizielle API muss einer Siegel- und Anspruchsprüfung unterzogen werden.
JWT Decode konvertiert den ersten und zweiten Absatz des Tokens zurück in JSON, sodass Sie den Header und die Nutzlast lesen können. JWT Encode ist der umgekehrte Prozess: Header-JSON und Payload-JSON vorbereiten, Signatur generieren und sie schließlich zu einem vollständigen Token kombinieren.
Wenn Sie nur den Payload-Inhalt sehen möchten, benötigen Sie kein Geheimnis. Wenn Sie bestätigen möchten, ob das Token tatsächlich von Ihrem System ausgestellt wurde, müssen Sie zur Überprüfung der Signatur den richtigen geheimen oder öffentlichen Schlüssel verwenden. Derzeit unterstützt diese Seite HS256.
Wenn Sie die Online-JWT-Dekodierung verwenden, sollten Sie auch prüfen, wer das Token ausgegeben hat, an welches System es ausgegeben wurde, wann es wirksam wird, wann es abläuft und ob der Berechtigungsbereich den API-Anforderungen entspricht. Die folgende Tabelle fasst häufige JWT-Ansprüche zusammen.
| Anspruch | Chinesische Bedeutung | Was ist beim Debuggen zu überprüfen? |
|---|---|---|
iss | Emittent, Emittent | Ob es sich um Ihren Autorisierungsserver oder einen vertrauenswürdigen Identitätsanbieter handelt. |
sub | Betreff-, Benutzer- oder Prinzipal-ID | Ob es dem richtigen Benutzer, Mitglied, Dienstkonto oder Gerät entspricht. |
aud | Publikum, symbolisches Publikum | Ob es an die aktuelle API gesendet werden soll; Publikumsfehler verursachen oft 401. |
exp | Ablaufzeit, Ablaufzeit | Ob es abgelaufen ist; Beachten Sie den Unterschied in der Unix-Zeitstempel- und Zeitzonenanzeige. |
nbf | Nicht vorher, effektive Zeit | Ob die nutzbare Zeit noch nicht erreicht ist; Eine Abweichung der Serverzeit wirkt sich ebenfalls darauf aus. |
iat | Ausgestellt am, Ausgabezeitpunkt | Stimmt es mit der tatsächlichen Anmeldezeit oder dem Aktualisierungstoken überein? |
jti | JWT-ID, eindeutige Token-ID | Ob es für Sperrlisten, Audit-Protokolle oder den Schutz vor Replay-Angriffen verwendet werden kann. |
Umfang | Umfang der Befugnisse | Ob die für die API erforderlichen Lese-, Schreib-, Administrator- und anderen Berechtigungen vorhanden sind. |
alg im JWT-Header teilt dem Prüfer mit, welcher Algorithmus verwendet werden soll. HS256 ist HMAC SHA-256 und sowohl die Ausstellung als auch die Überprüfung verwenden denselben Satz Geheimnisse. RS256 verwendet die Signatur des privaten RSA-Schlüssels und die Überprüfung des öffentlichen Schlüssels. ES256 verwendet den Algorithmus für elliptische Kurven.
Das Backend sollte die Liste der zulässigen Algorithmen klar spezifizieren, um zu verhindern, dass Angreifer den Verifizierungsprozess durch Modifizierung des Headers beeinflussen. Wenn das JWT von einem Identitätsanbieter stammt, besorgen Sie sich normalerweise das JWKS oder den öffentlichen Schlüssel und überprüfen Sie kid, iss, aud, exp.
Die häufigsten Probleme bei der Verwendung von JWT Decoder bestehen darin, dass das Token nicht im standardmäßigen Drei-Segment-Format vorliegt, die Base64URL-Zeichenfolge unvollständig kopiert wird, davor und danach Leerzeichen vorhanden sind, die Nutzlast kein legales JSON ist oder das Signaturgeheimnis falsch verwendet wird. Wenn die API 401 oder 403 zurückgibt, wird empfohlen, zuerst das JWT zu dekodieren und exp, aud und scope zu bestätigen.
header.payload.signature vorliegt.Bearer-Schema verwendet.exp abgelaufen ist und ob die Serverzeit synchronisiert ist.iss und aud mit der aktuellen Umgebung konsistent sind.kid verwendet.Die Sitzung speichert normalerweise den Status auf dem Server oder im zentralen Speicher, und der Browser speichert nur die Sitzungs-ID. JWT fügt einen Teil des Status in das Token ein, sodass die API die Signatur verwenden kann, um die Integrität zu überprüfen. SAML ist XML-basiert und wird häufig für SSO in Unternehmen verwendet.
| Planen | Passend zur Situation | Dinge zu beachten |
|---|---|---|
| JWT | API-Autorisierung, SSO-Zugriffstoken, Microservices | Es ist notwendig, die Ablaufzeit, die Siegelüberprüfung, den Widerruf und den Verlust sensibler Informationen zu kontrollieren. |
| Sitzung | Herkömmliche Websites, die eine sofortige Abmeldung oder eine zentrale Statuskontrolle erfordern | Es ist ein serverseitiger Sitzungsspeicher erforderlich, und die dienstübergreifende Erweiterung erfordert zusätzliches Design. |
| SAML | Unternehmensidentitätsintegration, ältere SSO-Systeme | XML-Strukturen sind größer und Signaturen und Einstellungen sind in der Regel komplexer. |
exp fest und lassen Sie das Zugriffstoken nicht für längere Zeit gültig sein.alg des Headers nicht blind vertrauen.iss, aud, nbf, iat mit den erforderlichen Berechtigungsansprüchen.Dieses Online-JWT-Dekodierungstool nutzt die native Verarbeitung des Browsers: Das von Ihnen eingefügte Token, Geheimnis, Header-JSON und Nutzlast-JSON wird nicht auf den ToolBoy-Server hochgeladen. Dennoch sollte beim Umgang mit echten Produktionstokens der Grundsatz der Mindestoffenlegung eingehalten werden.
JWT erscheint im API-Debugging-Prozess häufig zusammen mit JSON, Base64URL, URL-Abfrage, Zeitstempel, SHA-256, UUID, Regex und anderen Datenformaten. Sie können ToolBoys JSON-Formatierungstool, Base64-Kodierung und -Dekodierung und Unix-Zeitstempel verwenden Konvertierung oder UUID-Generator.
Weitere Informationen finden Sie unter JSON-Web-Token-Einführung von jwt.io und RFC 7519. Der Inhalt dieser Seite wurde neu organisiert und auf Chinesisch umgeschrieben, wobei der Schwerpunkt auf praktischem Debugging, White-Hat-SEO und nativem Datenschutz liegt.