JWT Decoder

Tampal JSON Web Token untuk membaca header dan payloadnya, melihat bila ia tamat tempoh, dan memahami setiap claim. Token anda tidak pernah meninggalkan pelayar anda.

Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik

Menyahkod bukan pengesahan. Sesiapa sahaja boleh membaca header dan payload JWT kerana ia hanya dikodkan base64url. Alat ini menunjukkan apa yang didakwa oleh token; ia tidak membuktikan token itu tulen. Sentiasa sahkan tandatangan pada pelayan anda.

Header

Payload


      

Sahkan tandatangan (pilihan, HS256/HS384/HS512)

Menyemak tandatangan HMAC dengan rahsia yang anda masukkan, menggunakan Web Crypto API pelayar anda. Rahsia itu tidak pernah meninggalkan halaman ini. Token RSA/ECDSA memerlukan kunci awam pengeluar dan tidak disahkan di sini.

Cara menggunakan JWT Decoder

  1. Tampal token ke dalam kotak Token berkod. Awalan Bearer daripada header Authorization diabaikan.
  2. Header dan payload dinyahkod serta-merta dan dipaparkan sebagai JSON yang diformat.
  3. Baca jadual Penerangan claim: exp, iat dan nbf ditukar kepada tarikh dengan masa “tamat dalam” / “tamat sejak”.
  4. Semak bar status untuk masalah tamat tempoh dan amaran untuk tetapan berisiko seperti alg: none.
  5. Secara pilihan, masukkan rahsia kongsi untuk mengesahkan tandatangan HS256, HS384 atau HS512 secara setempat.

Apakah kandungan JWT?

JSON Web Token (RFC 7519) ialah tiga rentetan base64url yang dicantumkan dengan titik: header.payload.signature. Header menamakan algoritma tandatangan (alg) dan jenis token. Payload memegang claim, seperti siapa pengguna dan bila token tamat tempoh. Tandatangan dikira ke atas dua bahagian pertama dengan rahsia atau kunci persendirian.

Menyahkod bukan mengesahkan

Header dan payload hanya dikodkan, bukan disulitkan, jadi sesiapa yang memegang token boleh membacanya. Sebab itulah anda tidak patut meletakkan kata laluan atau rahsia dalam payload JWT. Menyahkod memberitahu apa yang dinyatakan oleh token. Mengesahkan tandatangan, biasanya pada pelayan API anda dengan pustaka seperti jose atau PyJWT, membuktikan siapa yang mengeluarkannya dan bahawa ia tidak diubah. Pelayan juga mesti menyemak exp, nbf, iss dan aud, serta menolak algoritma yang tidak dijangka.

Helaian rujukan claim berdaftar

ClaimMaksud
issPengeluar: siapa yang mencipta dan menandatangani token
subSubjek: biasanya ID pengguna
audAudiens: API mana yang dituju oleh token
expMasa tamat tempoh, dalam saat sejak epoch Unix
nbfTidak sah sebelum masa ini
iatMasa dikeluarkan
jtiID token unik, berguna untuk senarai pembatalan

Debugging ralat “token expired”

Jika API menolak token yang kelihatan baharu, bandingkan exp dan nbf dengan jam pelayan. Sedikit perbezaan jam antara mesin adalah biasa, jadi kebanyakan pustaka membenarkan kelonggaran 30-60 saat. Semak juga bahawa exp dalam saat: nilai milisaat ialah pepijat yang kerap dan meletakkan tamat tempoh beribu-ribu tahun ke hadapan.

Soalan lazim

Selamatkah menampal JWT produksi di sini?
Penyahkodan berlaku sepenuhnya dalam pelayar anda dengan JavaScript. Token tidak dimuat naik, dilog atau disimpan. Seperti mana-mana kelayakan, tetap kendalikan token aktif dengan berhati-hati dan utamakan token yang tamat tempoh atau token ujian semasa berkongsi tangkapan skrin.
Adakah alat ini mengesahkan tandatangan JWT?
Menyahkod sahaja tidak. Anda boleh secara pilihan mengesahkan token HS256, HS384 dan HS512 dengan memasukkan rahsia kongsi; HMAC dikira secara setempat dengan Web Crypto API. Token RS256 dan ES256 mesti disahkan dengan kunci awam pengeluar pada pelayan anda.
Mengapa token saya ditunjukkan sebagai tamat tempoh?
Claim exp berada pada masa lalu berbanding jam komputer anda. Minta token baharu, atau segarkannya dengan refresh token anda. Jika masanya kelihatan salah, semak perbezaan jam atau nilai exp yang ditulis dalam milisaat.
Apakah perbezaan antara JWT, JWS dan JWE?
JWT ialah format claim. JWS ialah JWT yang ditandatangani dengan tiga bahagian, iaitu yang dinyahkod oleh alat ini. JWE ialah JWT yang disulitkan dengan lima bahagian; payloadnya tidak boleh dibaca tanpa kunci nyahsulit.
Mengapa alg “none” berbahaya?
Token yang tidak ditandatangani boleh dipalsukan oleh sesiapa sahaja. Pelayan mesti menolak alg: none dan hanya menerima algoritma khusus yang dijangka.

Alat berkaitan