Decoder JWT
Tokenurile web JSON sunt trei segmente Base64url: header.payload.signature. Lipește un JWT pentru a citi algoritmul (alg), emitentul (iss), subiectul (sub) și expirarea (exp) fără a trimite simbolul la un server. Acest decodor nu verifică semnăturile - folosești secretul aplicației sau JWKS pentru asta.
Token JWT
Ieșire
{
"header": {
"alg": "HS256",
"typ": "JWT"
},
"payload": {
"sub": "1234567890",
"name": "Ada",
"iat": 1516239022
}
}
Cum să decodați un JWT
1. Lipește șirul JWT (format eyJ...).
2. Citiți antetul decodat JSON (typ, alg).
3. Citiți revendicări privind sarcina utilă (sub, exp, roluri).
4. Verifică exp în raport cu ora actuală - tokenurile expirate nu au autentificarea API.
Exemple de inspecție JWT
Depanare 401 neautorizat
Jeton de acces de decodare — exp poate fi în trecut din cauza declinului de ceas sau a TTL scurt.
Inspectați OAuth id_token
Vizualizați revendicările de e-mail și nume returnate de la furnizorul de identitate.
Revizuiește dispozitivul de testare
Confirmați că jetonul de testare HS256 are rol: revendicare administrator înainte de testul de integrare.
Când să decodați JWT-urile
• La depanare autentificare în dezvoltare cu jetoane de testare.
• Când învățați structura JWT și revendicările standard.
• Când se verifică sarcina utilă înainte de implementarea verificărilor RBAC.
Limite de securitate
• Nu inserați jetoane de producție cu privilegii live în site-uri web neîncrezătoare - acest instrument este local, dar aveți grijă.
• Când ai nevoie de verificarea semnăturii - folosești cripto-server cu cheie secretă/publică.
• Când jetonul este criptat JWE - format diferit de JWS din trei părți.
Creante înregistrate standard
iss (emitent), sub (subiect), aud (public), exp (expirare), nbf (nu înainte), iat (emis la), jti (ID JWT). Revendicările personalizate, cum ar fi rolurile sau tenant_id, sunt specifice aplicației.
Algoritmi de semnătură
HS256 folosește secret partajat; RS256 utilizează perechea de chei publice/private RSA. Cheile publice publicate prin adresa URL JWKS pentru verificare.
Ceas înclinat
API-urile permit adesea 30-60 de secunde la exp/nbf. Dacă este valid în decodor, dar API-ul respinge, verifică ceasul serverului și fusul orar.
Nu aveți încredere niciodată singur în sarcina utilă
Decodificare pe partea clientului numai pentru indicii de UI - deciziile de autorizare trebuie să verifice semnătura pe server pentru fiecare cerere.
Întrebări frecvente
Care sunt cele trei părți JWT?
Antet (algoritm și tip), sarcină utilă (revendicări), semnătură (verificare). Separate prin puncte.
Decodificarea validează jetonul?
Nu — oricine poate decoda sarcina utilă; semnătura dovedește integritatea și emitentul.
Ce este exp claim?
Marcaj temporal Unix secunde când token-ul expiră. Comparați cu ora UTC actuală.
Niciun atac de algoritm?
Serverele trebuie să respingă alg:none — decodorul poate afișa în continuare antetul pentru audit.
Date sensibile în sarcina utilă?
Sarcina utilă JWT nu este criptată Base64 - nu puneți niciodată parole sau PII în mod inutil.
Prelucrare locală?
Da — simbolul analizat în browser.
Reîmprospătare vs token de acces?
Ambele sunt adesea JWT - decodificați fiecare pentru a vedea domeniile și durata de viață diferită.