Cum se folosește
- Copiază un token dintr-un antet Authorization, dintr-un cookie sau din instrumentele de dezvoltator ale browserului. Prefixul „Bearer ” este eliminat automat.
- Lipește-l în casetă. Header-ul și payload-ul apar ca JSON formatat.
- Verifică linia de stare și tabelul de claims pentru emitent, audiență și datele de expirare în ora ta locală.
- Copiază JSON-ul header-ului sau al payload-ului dacă ai nevoie de el în altă parte.
Cum funcționează
Un JSON Web Token (JWT, RFC 7519), în forma sa semnată obișnuită (JWS), este format din trei părți codificate base64url, separate prin puncte. Antetul indică algoritmul cu care a fost semnat tokenul, de exemplu HS256 (HMAC cu SHA-256) sau RS256 (RSA). Payloadul conține revendicările (claims): afirmații despre utilizator și despre tokenul însuși. Semnătura permite serverului să verifice că antetul și payloadul nu au fost modificate.
Antetul și payloadul sunt doar codificate, nu criptate. Oricine are un token îi poate citi conținutul, exact ceea ce face acest instrument. Nu puneți secrete în payloadul JWT.
Decodificarea nu dovedește nimic despre un token. Fără cheia emitentului, nimeni nu poate stabili dacă semnătura este autentică, deci rezultatul de aici nu trebuie folosit niciodată pentru a decide dacă un token este de încredere. Verificarea aparține serverului dumneavoastră, cu o bibliotecă JWT întreținută care verifică semnătura, algoritmul, exp, nbf, iss și aud.
Revendicările înregistrate sunt explicate în tabel. exp, nbf și iat sunt valori NumericDate: secunde de la 1 ianuarie 1970 UTC. Instrumentul le convertește în date în fusul dumneavoastră orar și le compară cu ceasul dispozitivului, fără mica marjă pe care serverele o permit adesea pentru diferențele de ceas. Dacă ceasul este greșit, și statusul va fi greșit.
Tokenurile cu cinci părți sunt JWT criptate (JWE). Payloadul lor nu poate fi decodificat fără cheie, așa că instrumentul raportează doar formatul.
Exemple
De ce API-ul meu returnează 401?
Decodificați tokenul de acces pe care îl trimite aplicația. Dacă linia de stare afișează „Expirat la …”, clientul trebuie să reînnoiască tokenul. Dacă aud arată https://api.example.com, dar apelați https://api2.example.com, audiența nu corespunde.
Verificarea unui ID token OpenID Connect
Un ID token de la un furnizor de autentificare conține iss (furnizorul), sub (ID-ul stabil al utilizatorului), aud (ID-ul clientului tău), iat și exp, plus claims de profil precum email și nume. Decodificarea arată ce claims primește aplicația ta de fapt.
Citirea unui claim de timestamp
Un payload conține "exp": 1735689600. Tabelul de claims îl afișează ca 1 ianuarie 2025, 00:00:00 UTC, convertit la ora ta locală, împreună cu cât timp a trecut sau cât timp a mai rămas până atunci.
Întrebări frecvente
Verifică acest instrument semnătura JWT?
Nu. Doar decodifică header-ul și payload-ul. Verificarea necesită secretul (pentru HS256) sau cheia publică a emitentului (pentru RS256 și ES256) și ar trebui făcută pe serverul tău, cu o bibliotecă de încredere.
Este sigur să lipesc tokenul meu aici?
Tokenul este decodificat în browserul tău și nu este trimis nicăieri. Chiar și așa, un token valid funcționează ca o parolă până expiră, așa că folosește de preferință tokenuri expirate sau de test și nu lipi niciodată tokenuri de producție în instrumente în care nu ai încredere.
De ce poate oricine să citească payload-ul?
JWT-urile semnate sunt codificate cu base64url, ceea ce nu este criptare. Semnătura protejează tokenul împotriva modificărilor, nu împotriva citirii. Dacă conținutul trebuie să fie secret, folosește un JWT criptat (JWE) sau păstrează datele pe server.
Ce înseamnă „exp” și în ce unitate se exprimă?
exp este timpul de expirare sub formă de NumericDate: secunde întregi (nu milisecunde) de la 1970-01-01 00:00:00 UTC. Un token trebuie respins în acel moment sau după acesta.
De ce primesc „base64url nevalid”?
Tokenul a fost probabil trunchiat sau modificat la copiere, de exemplu prin pierderea ultimelor caractere, a ghilimelelor din jurul lui sau prin codificarea URL (%2E în loc de punct). Lipește tokenul brut exact așa cum a fost emis.
Confidențialitate
Tokenul este decodat cu JavaScript în browser. Nu este trimis la niciun server, nu este stocat și nu este inclus în analize. Nu se verifică semnătura și nu se caută chei, deci nu se face nicio cerere de rețea.