Decodificare antet
JSONDupă lipirea JWT, conținutul analizat va fi afișat aici.
Inspectați un antet și o sarcină utilă JSON Web Token. Acest instrument nu validează semnăturile și procesarea rămâne în browser.
Lipiți JWT de mai jos pentru a decoda, inspecta și verifica instantaneu.
Se așteaptă intrarea JSON Web Token.
După lipirea JWT, conținutul analizat va fi afișat aici.
După lipirea JWT, conținutul analizat va fi afișat aici.
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.
Editați antetul și sarcina utilă JSON și utilizați semnătura HS256.
Pregătiți-vă să generați JWT.
Acest set de jetoane este potrivit pentru testarea locală și depanarea dezvoltării.
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.
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
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.
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.
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.
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.
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.
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.
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.
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 chinezesc | Ce să verificați la depanare |
|---|---|---|
iss | Emitent, emitent | Fie că este vorba de serverul dvs. de autorizare sau de un furnizor de identitate de încredere. |
sub | Subiect, utilizator sau ID principal | Indiferent dacă corespunde utilizatorului, membrului, contului de serviciu sau dispozitivului corect. |
aud | Audiență, public simbol | Dacă să-l trimiteți la API-ul curent; erorile publicului cauzează adesea 401. |
exp | Timpul de expirare, timpul de expirare | Dacă a expirat; rețineți diferența dintre marcajul de timp Unix și afișarea fusului orar. |
nbf | Nu înainte, timp efectiv | Dacă timpul utilizabil nu a atins încă; abaterea de timp a serverului o va afecta, de asemenea. |
iat | Eliberat la, ora emiterii | Se potrivește cu ora reală de conectare sau cu jetonul de reîmprospătare. |
jti | ID JWT, ID unic de simbol | Indiferent dacă poate fi folosit pentru liste de revocare, jurnalele de audit sau protecția împotriva atacurilor de reluare. |
domeniul de aplicare | Sfera de autoritate | Dacă există permisiunile de citire, scriere, administrare și alte permisiuni cerute de API. |
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
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.
header.payload.signature.Bearer.exp a expirat și dacă ora serverului este sincronizată.iss și aud sunt în concordanță cu mediul actual.copil.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ție | Lucruri de remarcat |
|---|---|---|
| JWT | Autorizare API, token de acces SSO, microservicii | Este necesar să se controleze timpul de expirare, verificarea sigiliului, revocarea și scurgerea informațiilor sensibile. |
| Sesiune | Site-uri web tradiționale care necesită deconectare imediată sau control centralizat al stării | Este necesar un depozit de sesiuni pe partea serverului, iar extinderea între servicii necesită un design suplimentar. |
| SAML | Integrarea identității întreprinderii, sisteme SSO vechi | Structurile XML sunt mai mari, iar semnăturile și setările sunt de obicei mai complexe. |
exp rezonabil și nu faceți tokenul de acces valabil pentru o perioadă lungă de timp.alg a antetului.iss, aud, nbf, iat cu permisiunile necesare.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ă.