Dekoder dan verifikator JWT
Sematkan ke alat AndaDekode JSON Web Token, periksa kedaluwarsa dan claim-nya, lalu verifikasi tanda tangannya dengan secret atau kunci publik.
Berjalan sepenuhnya di browser Anda. Apa yang Anda ketik tidak pernah dikirim ke server kami.
Payload
Secret untuk HS256/384/512, kunci publik dalam PEM (SPKI atau sertifikat) untuk yang lain, atau JWK atau JWKS (kunci dipilih berdasarkan kid token). Kunci tidak pernah dibagikan atau disimpan.
riwayat · 0
Masukan yang diproses muncul di sini selama halaman ini terbuka. Memuat ulang halaman akan mengosongkan daftar.
Contoh kode
Salin contoh ini ke proyek Anda sendiri. Masing-masing hanya memakai pustaka standar bahasanya, jadi tidak ada yang perlu diinstal.
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
const payload = token.split('.')[1]
const json = Buffer.from(payload, 'base64url').toString('utf8')
console.log(JSON.stringify(JSON.parse(json), null, 2))Fungsinya
Dekode JSON Web Token untuk membaca header dan payload-nya, lihat apakah sudah kedaluwarsa, dan verifikasi tanda tangannya dengan secret atau kunci publik. Token didekode di browser Anda, halaman ini tidak menampilkan iklan, dan token serta kunci tidak pernah dibagikan atau disimpan.
Cara memakainya
- Tempel token. Awalan
Bearerdan jeda baris diabaikan. - Baca payload sebagai JSON yang diformat atau ringkas. Di bawahnya Anda melihat algoritma, status, serta waktu
exp,nbf, daniatdi samping selisihnya dari sekarang. - Untuk memverifikasi tanda tangan, masukkan kunci: secret untuk HS256, HS384, dan HS512, atau kunci publik (PEM atau JWK) untuk RS, PS, ES, dan EdDSA.
- Alihkan header dan payload antara JSON dan Claim: Claim mencantumkan tiap claim beserta artinya dan menampilkan claim waktu sebagai tanggal.
- Buka tab Enkode untuk menulis header dan payload lalu menandatanganinya dengan secret atau kunci privat (PEM PKCS#8 atau JWK). Tidak ada yang ada di tab itu yang disimpan, dibagikan, atau ditambahkan ke riwayat.
Contoh
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Payload dari token itu:
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}
Tanda tangannya terverifikasi dengan secret your-256-bit-secret.
Perlu diketahui
- Mendekode bukan memverifikasi: payload hanya dienkode, tidak dienkripsi, dan siapa pun bisa membacanya.
- Server Anda harus memverifikasi tanda tangan sebelum memercayai klaim apa pun.
- Token dengan algoritma
nonetidak bertanda tangan, jadi siapa pun bisa saja membuatnya. - Perlakukan token yang masih aktif seperti kata sandi. Lebih baik tempel token yang sudah kedaluwarsa atau token uji di sini.
- JWKS yang ditempelkan dicari berdasarkan
kidtoken, dan satu JWK dipakai apa adanya. Halaman ini tidak pernah mengambil set kunci dari penerbit token. - Secret HMAC yang lebih pendek dari hash-nya (32, 48, atau 64 byte) bisa ditebak, jadi halaman ini memperingatkan Anda. Secret bisa dibaca sebagai teks UTF-8 atau Base64URL.
Apa itu JWT?
JSON Web Token adalah tiga bagian Base64URL yang digabung dengan titik: header yang menyebut algoritma tanda tangan, payload berisi claim seperti untuk siapa token dan kapan kedaluwarsa, serta tanda tangan. Siapa pun dapat membaca dua bagian pertama; hanya tanda tangan yang membuktikan token berasal dari pemegang kunci.
Pertanyaan yang sering diajukan
Apakah mendekode token sama dengan memverifikasinya?
Tidak. Mendekode hanya membaca isi, yang tidak dienkripsi. Memverifikasi memeriksa tanda tangan dengan kunci, dan server Anda harus melakukannya sebelum memercayai claim apa pun.
Apa arti exp, nbf, dan iat?
exp adalah kapan token kedaluwarsa, nbf waktu sebelum token tidak berlaku, dan iat kapan diterbitkan, semuanya dalam detik sejak 1970. Alat ini membandingkannya dengan jam perangkat Anda.
Amankah menempel token asli di sini?
Token didekode di browser Anda dan tidak pernah dikirim ke server kami, dan halaman ini tidak menampilkan iklan. Tetap perlakukan token aktif seperti kata sandi: lebih baik pakai token kedaluwarsa atau token uji.