Instrumente pentru dezvoltatori
Depanator online JSON Web Token

Decodare JWT online

Inspectați un antet și o sarcină utilă JSON Web Token. Acest instrument nu validează semnăturile și procesarea rămâne în browser.

Intrare JWT Token

Lipiți JWT de mai jos pentru a decoda, inspecta și verifica instantaneu.

Se așteaptă intrarea JSON Web Token.

Decodificare antet

JSON
După lipirea JWT, conținutul analizat va fi afișat aici.

Decodați sarcina utilă

Revendicări
După lipirea JWT, conținutul analizat va fi afișat aici.

Verificarea semnăturii JWT

Selectați
Semnătura va fi afișată aici după decodare.

Introduceți secretul de utilizat la emiterea JWT. Verificarea HS256 se realizează nativ în browserul dvs.

JWT

Cum se utilizează decodarea JWT online?

  1. Lipiți tokenul JWT complet.
  2. Apăsați „Decode JWT” pentru a analiza antetul, sarcina utilă și semnătura.
  3. Când trebuie să confirmați semnătura, introduceți secretul și apoi folosiți „Verificare semnătură”.
JSON

Ce este JSON Web Token?

JWT este un format de simbol folosit în mod obișnuit pentru autentificare, verificare API și autorizare între servicii. Este alcătuit din trei secțiuni: antet, sarcină utilă și semnătură.

Conținutul încărcăturii utile poate fi decodat și citit, iar informațiile sensibile nu ar trebui să fie plasate în revendicările JWT.

HS

Verificare JWT și securitate

Această pagină acceptă verificarea și generarea semnăturii HS256, ceea ce facilitează verificarea dacă token-ul mediului de testare este creat cu același secret.

Toate decodificarea, codificarea și verificarea semnăturii JWT se fac nativ în browser.

BAZĂ DE CUNOAȘTE JWT SEO

Ghid complet pentru decodarea JWT online: Ce este JSON Web Token, cum să-l verifici și cum să-l folosești în siguranță

Dacă căutați „JWT Decoder”, „JWT Decoder”, „JSON Web Token Parsing”, „JWT Verify” sau „JWT Encoder”, înseamnă de obicei că aveți deja un simbol și trebuie să înțelegeți rapid antetul, sarcina utilă, timpul de expirare, algoritmul de semnare și revendicările acestuia. Această pagină nu oferă doar instrumente online de decodare JWT, dar organizează și cunoștințele de bază despre JWT despre care dezvoltatorii se întrebă frecvent.

Ce este JWT?

JWT este abrevierea lui JSON Web Token. Este un format de simbol care folosește JSON pentru a reprezenta informații și apoi le convertește într-un șir simplificat. Este adesea folosit în site-urile web de separare front-end și back-end, API-ul aplicației, autentificarea membrilor, SSO de conectare unică, autorizarea microserviciilor și schimbul de date între servicii.

Decodarea JWT nu necesită o parolă, deoarece antetul și sarcina utilă sunt doar codificate Base64URL, nu criptate. Oricine primește simbolul poate folosi Decoderul JWT pentru a vedea conținutul încărcăturii utile, astfel încât revendicările nu pot conține parole, chei API sau informații personale sensibile.

Când să folosiți JWT?

Cel mai frecvent caz de utilizare este autorizarea. După ce utilizatorul se conectează cu succes, serverul de autorizare emite un JWT. Când front-end-ul sau aplicația apelează ulterior API-ul, simbolul este plasat în antetul Autorizării HTTP, cum ar fi Autorizare: Purtător .

JWT este, de asemenea, utilizat în mod obișnuit pentru schimbul de informații. Atunci când două sisteme trebuie să facă schimb de date verificabile, semnăturile permit capătului destinatar să confirme că datele nu au fost modificate în timpul transmiterii. Punctul final JWKS este utilizat în mod obișnuit în sistemele mari pentru a expune cheile publice, astfel încât diferitele servicii să poată verifica sursa jetonului.

Structură în trei secțiuni JWT: antet, sarcină utilă, semnătură

Un JWT standard constă de obicei din trei șiruri Base64URL separate de puncte: Header.Payload.Signature. Prima secțiune a Antetului descrie tipul de simbol și algoritmul semnăturii, a doua secțiune a Payload conține revendicări, iar a treia secțiune a Semnăturii este utilizată pentru a verifica integritatea.

Revendicările comune înregistrate includ iss, sub, aud, exp, iat și jti. O validare API bună va verifica de obicei cel puțin exp, iss și aud.

Cum funcționează JWT în autentificare și API?

Procesul obișnuit este: utilizatorul se conectează, autorizează serverul să verifice parola contului sau rezultatul autentificării terțelor părți și apoi emite un token de acces; front-end-ul atașează jetonul de acces la cererea API; API-ul back-end verifică jetonul și returnează date protejate.

JWT nu este un înlocuitor universal de sesiune. Odată ce un token este emis, acesta poate fi de obicei verificat fără a verifica baza de date înainte de expirare. Cu toate acestea, revocarea simbolurilor, modificările instantanee ale permisiunilor și procesarea de deconectare trebuie să fie proiectate.

Care este diferența dintre validarea JWT și verificarea JWT?

Validarea JWT se referă de obicei la verificarea dacă jetonul îndeplinește regulile așteptate, cum ar fi dacă are trei segmente, dacă poate fi decodat, dacă JSON este legal, dacă a expirat, dacă emitentul este corect și dacă publicul respectă API-ul actual.

Verificarea JWT va folosi algoritmul și cheia specificate pentru a recalcula semnătura și apoi o va compara cu a treia semnătură a simbolului. A fi capabil să înțeleagă sarcina utilă nu înseamnă că jetonul este de încredere; API-ul oficial trebuie să fie supus verificării sigiliului și verificării revendicărilor.

Care este diferența dintre JWT Decode și JWT Encode?

JWT Decode convertește primul și al doilea paragraf al jetonului înapoi în JSON, permițându-vă să citiți antetul și sarcina utilă. Codarea JWT este procesul invers: pregătiți antetul JSON și Payload JSON, generați semnătura și, în final, combinați-le într-un simbol complet.

Dacă doriți doar să vedeți conținutul încărcăturii utile, nu aveți nevoie de un secret; dacă doriți să confirmați dacă jetonul este într-adevăr emis de sistemul dvs., trebuie să utilizați secretul corect sau cheia publică pentru a verifica semnătura. În prezent, această pagină acceptă HS256.

Comparația revendicărilor JWT: la ce câmpuri ar trebui să mă uit după decodificare?

Când utilizați decodarea JWT online, ar trebui să verificați, de asemenea, cine a emis jetonul, pentru ce sistem a fost emis, când intră în vigoare, când expiră și dacă domeniul de aplicare a permisiunii îndeplinește cerințele API. Următorul tabel rezumă revendicările comune JWT.

Revendicăsens chinezescCe să verificați la depanare
issEmitent, emitentFie că este vorba de serverul dvs. de autorizare sau de un furnizor de identitate de încredere.
subSubiect, utilizator sau ID principalIndiferent dacă corespunde utilizatorului, membrului, contului de serviciu sau dispozitivului corect.
audAudiență, public simbolDacă să-l trimiteți la API-ul curent; erorile publicului cauzează adesea 401.
expTimpul de expirare, timpul de expirareDacă a expirat; rețineți diferența dintre marcajul de timp Unix și afișarea fusului orar.
nbfNu înainte, timp efectivDacă timpul utilizabil nu a atins încă; abaterea de timp a serverului o va afecta, de asemenea.
iatEliberat la, ora emiteriiSe potrivește cu ora reală de conectare sau cu jetonul de reîmprospătare.
jtiID JWT, ID unic de simbolIndiferent dacă poate fi folosit pentru liste de revocare, jurnalele de audit sau protecția împotriva atacurilor de reluare.
domeniul de aplicareSfera de autoritateDacă există permisiunile de citire, scriere, administrare și alte permisiuni cerute de API.

Cum să alegi între HS256, RS256 și ES256?

alg din antetul JWT va spune verificatorului ce algoritm ar trebui utilizat. HS256 este HMAC SHA-256 și atât emiterea, cât și verificarea folosesc același set de secrete; RS256 utilizează semnătura cheii private RSA și verificarea cheii publice; ES256 folosește algoritmul curbei eliptice.

Backend-ul ar trebui să specifice în mod clar lista de algoritmi permisi pentru a preveni atacatorii să afecteze procesul de verificare prin modificarea antetului. Dacă JWT provine de la un furnizor de identitate, de obicei obțineți JWKS sau cheia publică și verificați copil, iss, aud, iss, aud, copilul

Erori JWT obișnuite și metode de depanare

Cele mai frecvente probleme întâlnite la utilizarea JWT Decoder sunt că jetonul nu este în formatul standard de trei segmente, șirul Base64URL este copiat incomplet, există spații albe înainte și după, încărcarea utilă nu este JSON legal sau secretul de semnare este utilizat incorect. Dacă API-ul returnează 401 sau 403, este recomandat să decodați mai întâi JWT și să confirmați exp, aud și scope.

Lista de verificare a depanării JWT
  • Dacă Tokenul este în formatul cu trei segmente header.payload.signature.
  • Dacă antetul de autorizare folosește schema Bearer.
  • Dacă exp a expirat și dacă ora serverului este sincronizată.
  • Dacă iss și aud sunt în concordanță cu mediul actual.
  • Dacă secretul HS256 este complet în concordanță cu finalul emitentului.
  • Dacă RS256 / ES256 utilizează cheia publică corectă și copil.
  • Dacă revendicările de permisiune conțin domeniul sau rolul cerut de API.

Care sunt diferențele dintre JWT, Session și SAML?

Sesiunea salvează de obicei starea în server sau în stocarea centralizată, iar browserul salvează doar id-ul sesiunii; JWT pune o parte din stare în token, astfel încât API-ul să poată folosi semnătura pentru a verifica integritatea. SAML este bazat pe XML și este utilizat în mod obișnuit în SSO de întreprindere.

PlanificăPotrivit pentru situațieLucruri de remarcat
JWTAutorizare API, token de acces SSO, microserviciiEste necesar să se controleze timpul de expirare, verificarea sigiliului, revocarea și scurgerea informațiilor sensibile.
SesiuneSite-uri web tradiționale care necesită deconectare imediată sau control centralizat al stăriiEste necesar un depozit de sesiuni pe partea serverului, iar extinderea între servicii necesită un design suplimentar.
SAMLIntegrarea identității întreprinderii, sisteme SSO vechiStructurile XML sunt mai mari, iar semnăturile și setările sunt de obicei mai complexe.

Sfaturi de securitate JWT: SEO cu pălărie albă ar trebui, de asemenea, să noteze clar riscurile

  • Nu puneți parole, chei private, chei API, informații de plată sau informații personale sensibile în antetul JWT sau în sarcina utilă.
  • Setați un exp rezonabil și nu faceți tokenul de acces valabil pentru o perioadă lungă de timp.
  • Algoritmii permiși trebuie să fie remediați în timpul verificării back-end și nu au încredere în alg a antetului.
  • Utilizați un secret HS256 suficient de lung și aleatoriu; nu utilizați exemple de secrete în mediile de producție.
  • Verificați iss, aud, nbf, iat cu permisiunile necesare.
  • Evitați să introduceți o listă de permisiuni prea mare în JWT pentru a evita ca antetul să fie prea mare sau să provoace scurgeri de date.
  • Tokenurile de stocare front-end trebuie să evalueze XSS, CSRF, atributele cookie-urilor și riscurile de stocare în browser.

Acest instrument de decodare JWT online folosește procesarea nativă a browserului: tokenul, secretul, Header JSON și Payload JSON pe care le lipiți nu vor fi încărcate pe serverul ToolBoy. Chiar și așa, principiul dezvăluirii minime ar trebui să fie respectat în continuare atunci când aveți de-a face cu jetoane de producție reale.

JWT apare adesea în procesul de depanare API împreună cu JSON, Base64URL, interogare URL, timestamp, SHA-256, UUID, regex și alte formate de date. Puteți utiliza instrumentul de formatare JSON de la ToolBoy, codare și decodare Base64, data-i018mp="Unixtamp-converter.html"> conversie sau generator UUID.

Pentru citiri suplimentare, vă rugăm să consultați Introducerea JSON Web Token de la jwt.io și RFC 7519. Conținutul acestei pagini a fost reorganizat și rescris în chineză, concentrându-se pe depanare practică, SEO cu pălărie albă și confidențialitate nativă.

Întrebări frecvente despre decodarea JWT online

Decodificarea JWT online va verifica semnătura?
Decodarea antetului și a încărcăturii utile nu este echivalentă cu verificarea semnăturii; pentru a confirma dacă jetonul a fost modificat, introduceți același secret și executați Verificare.
Poate JWT Payload să conţină parole sau chei?
Nerecomandat. În general, JWT este codificat doar Base64URL și oricine obține simbolul poate citi încărcătura utilă.
Este codificatorul JWT potrivit pentru emiterea oficială de jetoane?
Acest instrument este potrivit pentru dezvoltare, testare și depanare. Mediul formal ar trebui să aibă jetoane de emisiune pentru serviciul de backend și să gestioneze în mod corespunzător secretele sau cheile private.