Decodificator JWT

Lipiți un JWT mai jos pentru a decodifica și inspecta headerul, payload-ul și semnătura. Notă: acest instrument nu verifică semnăturile. Toată procesarea are loc local în browserul dvs.

Copiat!

Informații token

Ce este un JWT?

Un JSON Web Token (JWT) este un format compact de token, sigur pentru URL-uri, folosit pentru transmiterea securizată a informațiilor între părți. Este compus din trei părți separate prin puncte (.):

  1. Antet (Header) — algoritmul și tipul tokenului (de ex. HS256, RS256)
  2. Conținut (Payload) — revendicări/date (de ex. sub, iat, exp)
  3. Semnătură (Signature) — verifică faptul că tokenul nu a fost modificat

Decodificarea unui jeton nu dovedește nimic despre el, fiindcă antetul și sarcina utilă sunt doar base64url și oricine le poate rescrie. Semnătura este ce contează, așa că lipiți secretul partajat și pagina o verifică aici, în browserul dumneavoastră, pentru HS256, HS384 și HS512. Ceilalți algoritmi semnează cu o cheie privată și verifică cu una publică, iar o pagină ca aceasta nu ar trebui să vă ceară să o lipiți. Orele apar față de ceasul dumneavoastră, cu diferența scrisă, fiindcă de obicei expirarea este ce căutați.

Notă: Acest instrument doar decodifică tokenul. Nu verifică semnătura.

Cum stocați asta, de fapt?

Amprentele, jetoanele și parolele sunt puternice doar cât codul din jurul lor: un factor de cost lăsat implicit, un jeton căruia nimeni nu îi verifică expirarea, un secret ajuns în depozit. Auditați și întărim aplicații și vă spunem la ce ajunge întâi un atacator.

Programați o revizie de securitate

Întrebări frecvente

Faptul că se decodifică înseamnă că este valid?
Nu, și tocmai aceasta este greșeala de evitat. Antetul și sarcina utilă sunt doar base64url, deci oricine le poate rescrie și produce ceva care se decodifică perfect. Doar semnătura spune că jetonul vine de la cine pretinde. Lipiți secretul și această pagină o verifică.
Ce algoritmi puteți verifica aici?
HS256, HS384 și HS512, care semnează cu un secret partajat. Jetoanele RS, ES și PS semnează cu o cheie privată și se verifică cu una publică, iar a lipi oricare dintre ele într-o pagină web este un obicei pe care e bine să nu îl deprindeți. Pentru acelea, verificați în propriul cod cu setul de chei publicat.
Ce înseamnă un jeton cu alg egal cu none?
Că nu poartă nicio semnătură utilizabilă, deci sarcina utilă poate afirma orice. Există în specificație pentru jetoane protejate altfel și este un atac binecunoscut atunci când o bibliotecă îl acceptă implicit. Dacă îl vedeți pe un jeton real, tratați jetonul ca intrare neîncrezută.
Este sigur să lipesc aici un jeton real?
Pagina nu încarcă nimic niciodată, deci nimic nu părăsește browserul dumneavoastră. Cu toate acestea, un jeton activ este o credențială, iar câmpul secretului este exclus intenționat din setările salvate și din șirul de interogare, ca să nu fie stocat sau partajat din greșeală. Revocați tot ce lipiți într-un loc pe care nu îl controlați.
De ce afișează expirarea o diferență de timp?
Fiindcă de obicei aceasta este întrebarea. Un jeton expirat acum patru minute și unul care expiră peste patru ore arată aproape la fel ca numere, așa că pagina le afișează pe amândouă față de ceasul dumneavoastră și scrie diferența. Orele pot fi afișate în UTC dacă le comparați cu un jurnal de server.