Dekoder JWT: Lihat Header, Payload, dan Kedaluwarsa

Dekode JSON Web Tokens (JWT) secara instan. Lihat header, payload, dan tanda tangan secara aman di browser Anda.

Dekoder JWT

Laporkan Masalah

Menemukan bug atau punya saran untuk Dekoder JWT: Lihat Header, Payload, dan Kedaluwarsa? Beritahu kami!

Cara dekoder JWT ini membaca token

Sebuah JSON Web Token menggabungkan tiga bagian dalam satu string: header, payload, dan tanda tangan. Dekoder ini memecah token yang dienkode menjadi tiga bagian tersebut, mengubah header dan payload kembali menjadi JSON yang mudah dibaca, lalu menampilkan algoritma, waktu penerbitan, dan waktu kedaluwarsa, sehingga kamu bisa memeriksa isi token tanpa menulis kode apa pun.

Header, payload, dan tanda tangan

Token dipisah oleh dua titik menjadi tiga bagian: header.payload.tanda_tangan. Dua bagian pertama adalah JSON yang dienkode dengan base64url, jadi mendekodekannya adalah proses yang bisa dibalik, bukan enkripsi. Header menyatakan algoritma penandatanganan, yaitu klaim alg, misalnya HS256 atau RS256, serta jenis token. Payload membawa klaim-klaim: sebuah identitas subject, field khusus aplikasi, dan biasanya iat (waktu penerbitan) serta exp (waktu kedaluwarsa) yang disimpan dalam detik Unix. Tanda tangan adalah nilai kriptografis yang dihitung dari header dan payload; memverifikasinya membutuhkan kunci rahasia atau kunci privat yang membuatnya, jadi membaca isi token berbeda dengan memverifikasi keasliannya. Beberapa token ditandatangani dengan alg bernilai none dan hanya punya dua bagian, header.payload; dekoder ini juga menerima bentuk yang lebih pendek itu dan membiarkan bagian tanda tangan kosong. Base64url berbeda dari base64 biasa karena memakai tanda hubung dan garis bawah, bukan tanda tambah dan garis miring, dan biasanya tidak memakai tanda sama dengan yang dipakai sebagai pengisi.

Contoh nyata

Tempel token seperti contoh di bawah ini, dan token akan terpisah menjadi tiga segmen berwarna, lalu header dan payload muncul sebagai JSON yang sudah diformat.

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI4NzU2MTAyOTgzIiwibmFtZSI6IlNpdGkgUmFoYXl1IiwiaWF0IjoxNjg2MzEyMDAwLCJleHAiOjE2OTQwODgwMDB9.DpvTr_RRFz7gjXIKvjjktBH9UbQ

{
  "alg": "HS256",
  "typ": "JWT"
}

{
  "sub": "8756102983",
  "name": "Siti Rahayu",
  "iat": 1686312000,
  "exp": 1694088000
}

Badge Algorithm menampilkan HS256, dibaca dari header. Nilai iat setara dengan 9 Juni 2023, dan nilai exp setara dengan 7 September 2023; karena tanggal itu sudah lewat, badge Status menampilkan EXPIRED. Semua ini tidak terjadi di server: proses dekode berjalan di browser, dan alat ini tidak pernah memeriksa keaslian tanda tangan karena tidak memiliki akses ke kunci yang membuatnya.

Pertanyaan yang Sering Diajukan