Convertor gratuit

Jeton JWT Decodor

Decodați antetul și încărcarea utilă JWT (JSON Web Token) instantaneu în browser. Gratuit, privat și pe partea clientului - nu sunt trimise date către niciun server.

Despre acest instrument

JSON Web Tokens (JWT) sunt un format compact, sigur pentru adresă URL pentru transmiterea revendicărilor între două părți, definit de RFC 7519. Un JWT este trei segmente codificate URL base64 separate prin puncte: antet (algoritm și tip de jeton), sarcină utilă (revendicări) și semnătură (dovada criptografică a autenticității). Antetul și sarcina utilă sunt JSON, codificate în bază64url pentru siguranța URL; semnătura folosește unul dintre mai mulți algoritmi (HS256, RS256, ES256 și alții) peste antetul codificat și sarcina utilă.

Decodificarea unui JWT - împărțirea lui în segmente și decodarea în bază 64 a fiecăruia - nu necesită niciun secret. Oricine are textul simbolului poate citi antetul și sarcina utilă. Semnătura, totuși, poate fi verificată doar cu secretul (HMAC) sau cheia publică (asimetrică). Decodarea este pentru inspecție; verificarea este ceea ce dovedește autenticitatea.

Acest decodor împarte jetonul, decodifică în base64 fiecare segment, analizează antetul și sarcina utilă ca JSON și arată rezultatul. Nu încearcă verificarea semnăturii, deoarece aceasta necesită cheia publică sau secretă, pe care decodorul nu o are. Ieșirea decodificată este o inspecție numai în citire - utilă pentru depanarea token-urilor, dar nu este un substitut pentru verificarea adecvată a codului aplicației.

De ce să decodați JWT-urile

Depanarea problemelor de autentificare implică aproape întotdeauna inspectarea token-urilor. Un indicativ care pare valid în cod poate avea revendicări greșite, un algoritm neașteptat, un marcaj de timp expirat sau nepotrivire de public. Decodificarea jetonului dezvăluie exact ceea ce a produs emitentul.

Inspectarea token-urilor în timpul lucrărilor de integrare ajută, de asemenea. Atunci când vă conectați la un API terț sau la un furnizor de identitate, numele, formatele și structura reale ale revendicărilor sunt cel mai bine înțelese prin decodificarea eșantion-urilor, mai degrabă decât bazându-vă pe documentația care ar putea fi învechită.

Cum se utilizează

Lipiți jetonul, obțineți conținutul analizat.

  1. Lipiți-vă JWT: Aruncați tokenul complet (header.payload.signature) în zona de intrare. Decodorul acceptă jetoane cu sau fără prefixul opțional Purtător.
  2. Inspectați antetul: Antetul arată algoritmul de semnare (alg) și tipul de simbol (typ). Algoritmii comuni sunt HS256, RS256 și ES256. Atenție la alg: none, care semnalează un token nesemnat și rareori este sigur în producție.
  3. Inspectați sarcina utilă: Sarcina utilă conține revendicările: iss (emitent), sub (subiect), aud (audience), exp (expirare), iat (emis la) și orice revendicări specifice aplicației. Marcajele temporale standard sunt secunde de epocă Unix.
  4. Verificați separat: Decodorul nu verifică semnătura. Pentru a verifica autenticitatea, rulați jetonul printr-o bibliotecă JWT cu cheia publică sau secretă corespunzătoare în codul aplicației.

Cazuri comune de utilizare

Detalii tehnice

Formatul JWT este format din trei segmente unite prin puncte. Fiecare segment este codificat în URL-ul base64 — varianta sigură pentru adresa URL a baze64 care utilizează - și _ în loc de + și /, cu umplutura uneori omise. Decodificarea necesită anularea substituțiilor sigure pentru URL, completarea segmentului și decodificarea în bază 64.

Antetul și sarcina utilă sunt JSON după decodare. Segmentul de semnătură este binar (octeți bruti de semnătură) și nu poate fi citit de om; necesită cheia de verificare pentru a fi utilă.

Afirmații comune definite în RFC 7519: iss (emitent), sub (identificator de subiect), aud (audience), exp (expirare ca secunde de epocă Unix), nbf (nu mai înainte de timestamp), iat (issued-at timestamp), jti (ID unic de simbol). Afirmațiile specifice aplicației pot apărea cu orice nume.

Cele mai bune practici

Întrebări frecvente

Este sigur să-mi inserez JWT aici?
Da. Decodificarea are loc în întregime în browser - token-ul nu este niciodată trimis la niciun server. Cu toate acestea, JWT-urile sunt acreditări - nu le partajați public (în capturi de ecran, postări Stack Overflow etc.), deoarece vă pot acorda acces la conturile dvs.
Acest instrument verifică semnătura JWT?
Acest instrument decodifică și afișează conținutul simbolului. Verificarea semnăturii necesită cheia secretă (HMAC) sau cheia publică (RSA/ECDSA), care ar trebui să rămână pe serverul dvs. Instrumentul arată algoritmul utilizat, dar nu poate verifica fără cheie.
Ce înseamnă revendicările standard JWT?
iss = emitent, sub = subiect (ID utilizator), exp = timpul de expirare (marca temporală Unix), iat = emis la, nbf = nu înainte, aud = audiență, jti = ID JWT. Reclamațiile personalizate pot conține orice date specifice aplicației.
De ce poate cineva decoda un JWT?
JWT-urile sunt codificate, nu criptate. Sarcina utilă este codificată Base64URL (nu criptată), astfel încât oricine o poate citi. Semnătura previne manipularea, nu citirea. Nu stocați niciodată date sensibile (parole, SSN-uri) în încărcăturile utile JWT.
De ce unor jetoane lipsește o semnătură?
Jetoane cu alg: niciunul nu are semnătură. Sunt JWT-uri valide după specificații, dar nu oferă garanții de autenticitate și nu ar trebui acceptate în producție.
JWT-urile sunt criptate?
Încărcările utile JWT standard sunt semnate, dar nu sunt criptate. JWE (JSON Web Encryption, RFC 7516) este un format separat pentru jetoane criptate. Majoritatea JWT-urilor în sălbăticie sunt JWS (numai semnate).
Tokenul meu este încărcat pe un server?
Nu. Decodarea are loc în browserul dvs.; jetonul nu părăsește dispozitivul dvs.
Cât durează de obicei JWT-urile?
Oriunde, de la câteva sute la câteva mii de caractere. Lungimea depinde de numărul și dimensiunea revendicărilor plus lungimea semnăturii (care depinde de algoritm).