Cara menggunakan
- Tempel token — dengan atau tanpa awalan "Bearer ". Ketiga bagiannya diberi warna berbeda.
- Baca header dan payload yang sudah didecode. Klaim iat, nbf, dan exp ditampilkan sebagai tanggal beserta waktu relatifnya.
- Untuk memverifikasi tanda tangan, masukkan shared secret untuk HS256/384/512, atau tempel kunci publik (PEM atau JWK) untuk token RS, PS, ES, dan EdDSA.
- Salin JSON hasil decode jika Anda memerlukannya di tempat lain.
Penjelasan opsi
- Header
- Metadata token, biasanya alg (algoritma penandatanganan) dan typ. Kolom kid menunjukkan kunci mana yang menandatanganinya.
- Payload
- Berisi klaim. Klaim terdaftar antara lain sub (subjek), iss (penerbit), aud (audiens), iat (waktu terbit), nbf (tidak berlaku sebelum), dan exp (kedaluwarsa), semua waktu dalam detik Unix.
- Tanda tangan
- Membuktikan bahwa header dan payload tidak diubah. Untuk memeriksanya diperlukan secret (HMAC) atau kunci publik penerbit (RSA, ECDSA, EdDSA).
- Secret dienkode Base64
- Beberapa layanan menyimpan secret HMAC dalam bentuk Base64. Centang opsi ini jika secret yang Anda miliki adalah bentuk terenkodenya.
Klaim umum
| Klaim | Arti | Contoh |
|---|---|---|
sub |
Subjek token (ID pengguna) | "1234567890" |
iss |
Penerbit token | "https://accounts.example.com" |
aud |
Penerima yang dituju | "my-api" |
exp |
Waktu kedaluwarsa, detik Unix | 1790427600 |
iat |
Waktu terbit, detik Unix | 1790424000 |
nbf |
Tidak berlaku sebelum, detik Unix | 1790424000 |
jti |
ID unik token, untuk mencegah replay | "a1b2c3" |
Contoh
Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c didecode menjadi header {"alg":"HS256","typ":"JWT"} dan payload berisi sub, name, dan iat (18 Januari 2018). Dengan secret your-256-bit-secret, tanda tangannya terverifikasi.
Pertanyaan yang sering diajukan
Amankah menempelkan JWT produksi di sini?
Token didecode oleh JavaScript di browser Anda dan tidak diunggah atau dicatat. Meski begitu, perlakukan access token seperti kata sandi — siapa pun yang memegang token yang valid dapat memakainya hingga kedaluwarsa.
Apakah mendecode JWT membuktikan token itu asli?
Tidak. Header dan payload hanya dienkode Base64URL, jadi siapa pun bisa membaca atau memalsukannya. Hanya pemeriksaan tanda tangan yang berhasil dengan kunci yang benar yang menunjukkan token diterbitkan oleh pihak yang diharapkan.
Mengapa verifikasi gagal padahal secret-nya benar?
Periksa apakah secret dienkode Base64, apakah ada spasi atau baris baru di akhir, dan apakah algoritma di header sama dengan yang dipakai penerbit. Setiap perubahan pada token, bahkan satu karakter, juga merusak tanda tangan.
Apa arti "alg none"?
Token tersebut mengaku tidak ditandatangani. Server harus menolak token seperti ini kecuali memang secara eksplisit mengharapkannya; menerimanya pernah menyebabkan celah bypass autentikasi yang nyata.
Bagaimana cara mendapatkan kunci publik untuk token RS256?
Penyedia identitas memublikasikan kuncinya sebagai JWKS, biasanya di /.well-known/jwks.json. Salin kunci yang kid-nya cocok dengan header token, lalu tempel di sini sebagai JWK.
Privasi
Alat ini berjalan sepenuhnya di browser Anda. File dan teks Anda diproses di perangkat Anda dan tidak pernah diunggah ke server kami.