Libreng Converter

JWT Token Decoder

I-decode ang header at payload ng JWT (JSON Web Token) kaagad sa iyong browser. Libre, pribado, at panig ng kliyente — walang data na ipinadala sa anumang server.

Tungkol sa tool na ito

Ang JSON Web Tokens (JWT) ay isang compact, URL-safe na format para sa pagpapadala ng mga claim sa pagitan ng dalawang partido, na tinukoy ng RFC 7519. Ang JWT ay tatlong base64url-encoded segment na pinaghihiwalay ng mga tuldok: header (algorithm at token type), payload (claims), at signature (cryptographic proof of authenticity). Ang header at payload ay JSON, base64url-encoded para sa kaligtasan ng URL; ang lagda ay gumagamit ng isa sa ilang mga algorithm (HS256, RS256, ES256, at iba pa) sa ibabaw ng naka-encode na header at payload.

Ang pag-decode ng JWT — paghahati-hati nito sa mga segment at base64-decoding bawat isa — ay hindi nangangailangan ng anumang lihim. Maaaring basahin ng sinumang may token text ang header at payload nito. Ang lagda, gayunpaman, ay maaari lamang ma-verify gamit ang sikreto (HMAC) o pampublikong susi (asymmetric). Ang pag-decode ay para sa inspeksyon; ang pagpapatunay ay ang nagpapatunay ng pagiging tunay.

Hinahati ng decoder na ito ang token, bina-decode ng base64 ang bawat segment, pina-parse ang header at payload bilang JSON, at ipinapakita ang resulta. Hindi nito sinusubukan ang pag-verify ng lagda dahil nangangailangan iyon ng sikreto o pampublikong susi, na wala ang decoder. Ang na-decode na output ay read-only na inspeksyon — kapaki-pakinabang para sa pag-debug ng mga token ngunit hindi isang kapalit para sa wastong pag-verify sa application code.

Bakit nagde-decode ng mga JWT

Ang pag-debug sa mga isyu sa pagpapatotoo ay halos palaging nagsasangkot ng pagsisiyasat ng mga token. Ang isang token na mukhang wasto sa code ay maaaring may mga maling claim, isang hindi inaasahang algorithm, isang nag-expire na exp timestamp, o hindi pagkakatugma ng audience. Ang pag-decode ng token ay nagpapakita kung ano mismo ang ginawa ng nagbigay.

Nakakatulong din ang pag-inspeksyon sa mga token sa panahon ng integration work. Kapag kumokonekta sa isang third-party na API o provider ng pagkakakilanlan, ang aktwal na mga pangalan ng claim, format, at istraktura ay pinakamahusay na nauunawaan sa pamamagitan ng pag-decode ng mga sample na token sa halip na umasa sa dokumentasyong maaaring luma na.

Paano gamitin

Idikit ang token, kunin ang mga na-parse na nilalaman.

  1. Idikit ang iyong JWT: I-drop ang buong token (header.payload.signature) sa lugar ng pag-input. Ang decoder ay tumatanggap ng mga token na mayroon o walang opsyonal na Bearer prefix.
  2. Suriin ang header: Ipinapakita ng header ang algorithm ng pag-sign (alg) at uri ng token (typ). Ang mga karaniwang algorithm ay HS256, RS256, at ES256. Panoorin ang alg: wala, na nagpapahiwatig ng hindi nalagdaan na token at bihirang ligtas sa produksyon.
  3. Suriin ang kargamento: Ang payload ay naglalaman ng mga claim: iss (issuer), sub (subject), aud (audience), exp (expire), iat (inilabas noong), at anumang claim na partikular sa application. Ang mga karaniwang timestamp ay Unix epoch na segundo.
  4. I-verify nang hiwalay: Hindi bini-verify ng decoder ang lagda. Upang suriin ang pagiging tunay, patakbuhin ang token sa pamamagitan ng isang JWT library na may naaangkop na lihim o pampublikong key sa iyong application code.

Mga Karaniwang Paggamit

Mga Detalye ng Teknikal

Ang format ng JWT ay tatlong segment na pinagsama ng mga tuldok. Ang bawat segment ay base64url-encoded — ang URL-safe na variant ng base64 na gumagamit ng - at _ sa halip na + at /, kung minsan ay inalis ang padding. Ang pag-decode ay nangangailangan ng pag-undo sa mga pamalit na ligtas sa URL, padding sa segment, at base64-decoding.

Ang header at payload ay JSON pagkatapos mag-decode. Ang signature segment ay binary (raw signature bytes) at hindi nababasa ng tao; kailangan nito ang verification key upang maging kapaki-pakinabang.

Mga karaniwang claim na tinukoy sa RFC 7519: iss (issuer), sub (subject identifier), aud (audience), exp (expiration as Unix epoch seconds), nbf (not-before timestamp), iat (issued-at timestamp), jti (natatanging token ID). Maaaring lumabas ang mga claim na partikular sa application kasama ang anumang pangalan.

Pinakamahusay na Kasanayan

Mga madalas itanong

Ligtas bang idikit ang aking JWT dito?
Oo. Ang pag-decode ay ganap na nangyayari sa iyong browser — ang token ay hindi kailanman ipinadala sa anumang server. Gayunpaman, ang mga JWT ay mga kredensyal — huwag ibahagi ang mga ito sa publiko (sa mga screenshot, mga post ng Stack Overflow, atbp.) dahil maaari silang magbigay ng access sa iyong mga account.
Bine-verify ba ng tool na ito ang lagda ng JWT?
Ang tool na ito ay nagde-decode at nagpapakita ng mga nilalaman ng token. Ang pag-verify ng lagda ay nangangailangan ng sikretong key (HMAC) o pampublikong key (RSA/ECDSA), na dapat manatili sa iyong server. Ipinapakita ng tool ang algorithm na ginamit ngunit hindi makakapag-verify nang walang susi.
Ano ang ibig sabihin ng karaniwang pag-angkin ng JWT?
iss = issuer, sub = subject (user ID), exp = expiration time (Unix timestamp), iat = issued at, nbf = not before, aud = audience, jti = JWT ID. Maaaring maglaman ang mga custom na claim ng anumang data na tukoy sa application.
Bakit may makakapag-decode ng JWT?
Ang mga JWT ay naka-encode, hindi naka-encrypt. Ang payload ay Base64URL-encoded (hindi naka-encrypt), kaya kahit sino ay makakabasa nito. Pinipigilan ng lagda ang pakikialam, hindi pagbabasa. Huwag kailanman mag-imbak ng sensitibong data (mga password, SSN) sa mga JWT payload.
Bakit nawawalan ng lagda ang ilang mga token?
Mga token na may alg: walang walang pirma. Ang mga ito ay wastong JWT ayon sa spec ngunit hindi nagbibigay ng mga garantiya sa pagiging tunay at hindi dapat tanggapin sa produksyon.
Naka-encrypt ba ang mga JWT?
Ang mga karaniwang JWT payload ay nilagdaan ngunit hindi naka-encrypt. Ang JWE (JSON Web Encryption, RFC 7516) ay isang hiwalay na format para sa mga naka-encrypt na token. Karamihan sa mga JWT sa ligaw ay JWS (laging nilagdaan).
Na-upload ba ang aking token sa isang server?
Hindi. Nangyayari ang pag-decode sa iyong browser; hindi umaalis ang token sa iyong device.
Gaano katagal ang mga karaniwang JWT?
Kahit saan mula sa ilang daan hanggang ilang libong character. Ang haba ay depende sa bilang at laki ng mga claim kasama ang haba ng lagda (na depende sa algorithm).