JWT Decoder
Tempel JSON Web Token untuk membaca header dan payload-nya, melihat kapan token kedaluwarsa, dan memahami setiap claim. Token Anda tidak pernah meninggalkan browser.
Berjalan di browser AndaTanpa daftarTidak ada yang diunggah
Mendekode bukan berarti memverifikasi. Siapa pun bisa membaca header dan payload JWT, karena keduanya hanya dienkode base64url. Alat ini menampilkan apa yang diklaim token; alat ini tidak membuktikan bahwa token itu asli. Selalu verifikasi signature di server Anda.
Header
Payload
Penjelasan claim
Verifikasi signature (opsional, HS256/HS384/HS512)
Memeriksa signature HMAC dengan secret yang Anda masukkan, menggunakan Web Crypto API browser Anda. Secret tidak pernah meninggalkan halaman ini. Token RSA/ECDSA memerlukan kunci publik penerbit dan tidak diverifikasi di sini.
Cara menggunakan JWT Decoder
- Tempel token ke kotak Token terenkode. Awalan
Bearerdari header Authorization diabaikan. - Header dan payload langsung didekode dan ditampilkan sebagai JSON yang terformat.
- Baca tabel Penjelasan claim:
exp,iatdannbfdikonversi menjadi tanggal dengan keterangan “kedaluwarsa dalam” / “kedaluwarsa sejak”. - Periksa status bar untuk masalah masa berlaku dan peringatan untuk pengaturan berisiko seperti
alg: none. - Bila perlu, masukkan shared secret untuk memverifikasi signature HS256, HS384, atau HS512 secara lokal.
Apa isi sebuah JWT?
JSON Web Token (RFC 7519) terdiri dari tiga string base64url yang digabung dengan titik: header.payload.signature. Header menyebutkan algoritma penandatanganan (alg) dan jenis token. Payload berisi claim, seperti siapa penggunanya dan kapan token kedaluwarsa. Signature dihitung dari dua bagian pertama dengan secret atau private key.
Mendekode bukan berarti memverifikasi
Header dan payload hanya dienkode, tidak dienkripsi, sehingga siapa pun yang memegang token bisa membacanya. Karena itu jangan pernah menaruh kata sandi atau rahasia di payload JWT. Mendekode memberi tahu apa yang dikatakan token. Memverifikasi signature, biasanya di server API Anda dengan library seperti jose atau PyJWT, membuktikan siapa penerbitnya dan bahwa token belum diubah. Server juga harus memeriksa exp, nbf, iss dan aud, serta menolak algoritma yang tidak diharapkan.
Ringkasan registered claim
| Claim | Arti |
|---|---|
iss | Issuer: siapa yang membuat dan menandatangani token |
sub | Subject: biasanya ID pengguna |
aud | Audience: API mana yang menjadi tujuan token |
exp | Waktu kedaluwarsa, dalam detik sejak epoch Unix |
nbf | Tidak berlaku sebelum waktu ini |
iat | Waktu diterbitkan |
jti | ID token unik, berguna untuk daftar pencabutan |
Debugging error “token expired”
Jika API menolak token yang tampak masih baru, bandingkan exp dan nbf dengan jam server. Selisih jam kecil antar mesin itu umum, sehingga sebagian besar library memberi toleransi 30-60 detik. Pastikan juga exp dalam detik: nilai milidetik adalah bug yang sering terjadi dan membuat masa berlaku ribuan tahun ke depan.
Pertanyaan yang sering diajukan
Apakah aman menempelkan JWT production di sini?
Apakah tool ini memverifikasi signature JWT?
Mengapa token saya ditampilkan kedaluwarsa?
exp sudah lewat dibandingkan jam komputer Anda. Minta token baru, atau perbarui dengan refresh token Anda. Jika waktunya tampak salah, periksa selisih jam atau nilai exp yang ditulis dalam milidetik.Apa bedanya JWT, JWS, dan JWE?
Mengapa alg “none” berbahaya?
alg: none dan hanya menerima algoritma spesifik yang diharapkan.