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


      

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

  1. Tempel token ke kotak Token terenkode. Awalan Bearer dari header Authorization diabaikan.
  2. Header dan payload langsung didekode dan ditampilkan sebagai JSON yang terformat.
  3. Baca tabel Penjelasan claim: exp, iat dan nbf dikonversi menjadi tanggal dengan keterangan “kedaluwarsa dalam” / “kedaluwarsa sejak”.
  4. Periksa status bar untuk masalah masa berlaku dan peringatan untuk pengaturan berisiko seperti alg: none.
  5. 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

ClaimArti
issIssuer: siapa yang membuat dan menandatangani token
subSubject: biasanya ID pengguna
audAudience: API mana yang menjadi tujuan token
expWaktu kedaluwarsa, dalam detik sejak epoch Unix
nbfTidak berlaku sebelum waktu ini
iatWaktu diterbitkan
jtiID 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?
Proses dekode sepenuhnya terjadi di browser Anda dengan JavaScript. Token tidak diunggah, dicatat, atau disimpan. Seperti kredensial lainnya, tetap perlakukan token aktif dengan hati-hati dan gunakan token kedaluwarsa atau token uji saat membagikan screenshot.
Apakah tool ini memverifikasi signature JWT?
Mendekode saja tidak. Anda bisa memverifikasi token HS256, HS384, dan HS512 dengan memasukkan shared secret; HMAC dihitung secara lokal dengan Web Crypto API. Token RS256 dan ES256 harus diverifikasi dengan kunci publik penerbit di server Anda.
Mengapa token saya ditampilkan kedaluwarsa?
Claim 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?
JWT adalah format claim-nya. JWS adalah JWT bertanda tangan dengan tiga bagian, yang didekode oleh tool ini. JWE adalah JWT terenkripsi dengan lima bagian; payload-nya tidak bisa dibaca tanpa kunci dekripsi.
Mengapa alg “none” berbahaya?
Token tanpa tanda tangan bisa dipalsukan oleh siapa saja. Server harus menolak alg: none dan hanya menerima algoritma spesifik yang diharapkan.

Tools terkait