Lumaktaw sa pangunahing nilalaman

Libreng JWT Decoder

I-decode at suriin ang anumang JSON Web Token. Tingnan ang header, payload, expiration, at mga karaniwang claim. Lahat ay tumatakbo nang lokal sa iyong browser β€” hindi kailanman lumalabas ang mga token sa iyong device.

Gumagana offline kapag na-load na

πŸ”’ Ang token ay na-decode nang buo sa iyong browser. Walang ipinapadala sa anumang server.

Mga karaniwang gamit

  • Debug Authentication Issue na may JWT DecoderI-inspect ang JWT mula sa app upang i-debug ang login failure, permission issue, at token expiration problem.
  • I-inspect ang API Token habang Sinusulit ang EndpointI-decode ang JWT na ibabalik ng API upang i-verify na ang tamang claim, scope, at permission ay isinusulit.
  • Security Audit JWT TokenSuriin ang JWT bilang bahagi ng security audit β€” tingnan ang mahinang signing algorithm, excessive token lifetime, o sensitive data sa payload.
  • I-inspect ang OAuth at OpenID Connect TokenI-decode ang access token, ID token, at refresh token mula sa Google, Auth0, Okta, Microsoft, at iba pang OAuth provider.
  • Matuto kung Paano Gumagana ang JWT TokenI-decode ang sample JWT upang maunawaan ang structure: header, payload, at signature. Makita ang real-world claim example.

Paano ito Gumagana

Ang decoder ay hand-written at walang-dependency na parser na buong tumatakbo sa iyong browser: hinahati nito ang token sa mga tuldok, kino-convert ang bawat Base64URL segment sa plain Base64 gamit ang string replacement at pina-pad sa multiple ng apat, pagkatapos ay tinatawag ang native na atob() at JSON.parse ng browser para makuha ang header at payload object. Gumagamit ang opsyonal na pag-verify ng signature ng Web Crypto API (crypto.subtle.verify) β€” walang library, walang server.

  1. 1
    Base64URL decoding
    Hinahati ng tool ang JWT sa dalawang period delimiter nito, kaya tatlong segment ang nabubuo. Ang bawat segment ay Base64URL β€” na gumagamit ng - at _ sa halip na + at / at walang padding. Ibinabalik ng code ang mga character na iyon at nilalagyan ng = sign, pagkatapos ay tinatawag ang built-in na atob() ng browser para i-decode ang mga byte.
  2. 2
    Pag-parse ng JSON at pagkuha ng claim
    Ipinapasa ang na-decode na byte sa JSON.parse para makuha ang header at payload object. Kinukuha ang mga registered claim na exp, iat, at nbf bilang Unix timestamp at kino-convert sa Date object; sinusuri ulit ang expiry status bawat 20 segundo gamit ang setInterval kaya ang token na nag-expire habang bukas ang tab ay awtomatikong lumilipat mula valid sa expired. Fino-format ang mga relatibong timestamp ('sa loob ng 3 araw', '2 oras na ang nakalipas') gamit ang Intl.RelativeTimeFormat at ang locale ng browser mo.
  3. 3
    Pagpapakita ng signature at opsyonal na pag-verify
    Ipinapakita ang raw na Base64URL signature string kasama ng header at payload. Kung magbibigay ka ng key, tinatawag ng tool ang crypto.subtle.importKey at crypto.subtle.verify para suriin nang lokal ang signature. Tumatanggap ito ng HMAC shared secret (HS256/384/512), PEM-encoded na RSA public key (RS256/384/512), at ECDSA public key o JWK/JWKS object (ES256/384/512) β€” itinatakda ng alg field sa header.
  4. 4
    Walang network request
    Bawat hakbang β€” pag-decode, math ng timestamp, at cryptographic na pag-verify β€” ay tumatakbo sa loob ng JavaScript engine ng browser. Hindi kailanman umaalis sa device mo ang token at anumang key material na inilagay mo.

Kadalasang may dalang session credential, pagkakakilanlan ng user, at authorization scope ang mga JWT; dine-decode at opsyonal na vine-verify ito ng tool na ito nang buo sa iyong browser gamit ang atob() at ang Web Crypto API, kaya hindi ipinapadala kahit saan ang token o anumang key na ibinigay mo.

Mga Kaugnay na Tool

Mga Madalas na Itanong