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
Penerangan claim
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
- Tampal token ke dalam kotak Token berkod. Awalan
Bearerdaripada header Authorization diabaikan. - Header dan payload dinyahkod serta-merta dan dipaparkan sebagai JSON yang diformat.
- Baca jadual Penerangan claim:
exp,iatdannbfditukar kepada tarikh dengan masa “tamat dalam” / “tamat sejak”. - Semak bar status untuk masalah tamat tempoh dan amaran untuk tetapan berisiko seperti
alg: none. - 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
| Claim | Maksud |
|---|---|
iss | Pengeluar: siapa yang mencipta dan menandatangani token |
sub | Subjek: biasanya ID pengguna |
aud | Audiens: API mana yang dituju oleh token |
exp | Masa tamat tempoh, dalam saat sejak epoch Unix |
nbf | Tidak sah sebelum masa ini |
iat | Masa dikeluarkan |
jti | ID 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?
Adakah alat ini mengesahkan tandatangan JWT?
Mengapa token saya ditunjukkan sebagai tamat tempoh?
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?
Mengapa alg “none” berbahaya?
alg: none dan hanya menerima algoritma khusus yang dijangka.