Decodor JWT
Lipește un JSON Web Token pentru a-i citi header-ul și payload-ul, a vedea când expiră și a înțelege fiecare claim. Tokenul nu părăsește niciodată browserul.
Rulează în browserFără înregistrareNimic nu este încărcat
Decodificarea nu este verificare. Oricine poate citi header-ul și payload-ul unui JWT, deoarece sunt doar codificate base64url. Acest instrument arată ce pretinde tokenul; nu dovedește că tokenul este autentic. Verifică întotdeauna semnătura pe serverul tău.
Header
Payload
Claim-uri explicate
Verifică semnătura (opțional, HS256/HS384/HS512)
Verifică o semnătură HMAC cu un secret introdus de tine, folosind Web Crypto API din browser. Secretul nu părăsește niciodată această pagină. Tokenurile RSA/ECDSA necesită cheia publică a emitentului și nu sunt verificate aici.
Cum se folosește: Decodor JWT
- Lipește tokenul în caseta Token codificat. Un prefix
Bearerdintr-un header Authorization este ignorat. - Header-ul și payload-ul sunt decodificate instantaneu și afișate ca JSON formatat.
- Citește tabelul Claim-uri explicate:
exp,iatșinbfsunt convertite în date cu timpi de tip „expiră în” / „a expirat acum”. - Verifică bara de stare pentru probleme de expirare și avertismentele pentru setări riscante precum
alg: none. - Opțional, introdu secretul partajat pentru a verifica local o semnătură HS256, HS384 sau HS512.
Ce conține un JWT?
Un JSON Web Token (RFC 7519) este format din trei șiruri base64url unite prin puncte: header.payload.signature. Header-ul numește algoritmul de semnare (alg) și tipul tokenului. Payload-ul conține claim-urile, cum ar fi cine este utilizatorul și când expiră tokenul. Semnătura este calculată peste primele două părți cu un secret sau o cheie privată.
Decodificarea nu înseamnă verificare
Header-ul și payload-ul sunt doar codificate, nu criptate, deci oricine are tokenul le poate citi. De aceea nu pune niciodată parole sau secrete în payload-ul unui JWT. Decodificarea îți spune ce afirmă un token. Verificarea semnăturii, de obicei pe serverul API cu o bibliotecă precum jose sau PyJWT, dovedește cine l-a emis și că nu a fost modificat. Un server trebuie să verifice și exp, nbf, iss și aud și să respingă algoritmii neașteptați.
Fișă rapidă a claim-urilor înregistrate
| Claim | Semnificație |
|---|---|
iss | Emitent: cine a creat și semnat tokenul |
sub | Subiect: de obicei ID-ul utilizatorului |
aud | Audiență: pentru ce API este destinat tokenul |
exp | Momentul expirării, în secunde de la epoca Unix |
nbf | Nu este valid înainte de acest moment |
iat | Momentul emiterii |
jti | ID unic al tokenului, util pentru liste de revocare |
Depanarea erorilor „token expired”
Dacă un API respinge un token care pare proaspăt, compară exp și nbf cu ceasul serverului. Diferențele mici de ceas între mașini sunt frecvente, așa că majoritatea bibliotecilor permit o toleranță de 30-60 de secunde. Verifică și că exp este în secunde: o valoare în milisecunde este o eroare frecventă și mută expirarea cu mii de ani în viitor.
Întrebări frecvente
Este sigur să lipesc aici un JWT de producție?
Verifică acest instrument semnătura JWT?
De ce tokenul meu apare ca expirat?
exp este în trecut față de ceasul calculatorului tău. Cere un token nou sau reîmprospătează-l cu refresh token-ul. Dacă orele par greșite, verifică diferența de ceas sau o valoare exp scrisă în milisecunde.Care este diferența dintre JWT, JWS și JWE?
De ce este periculos alg „none”?
alg: none și să accepte doar algoritmul specific pe care îl așteaptă.