Pendekode JWT
Dekode dan periksa JSON Web Tokens dengan penjelasan klaim
Coba contoh
Tempel JWT untuk memeriksa header, klaim, dan tanda tangannya.
Tanda tangan tidak diverifikasi. Mendekode token tidak membuktikan bahwa token itu asli atau tepercaya.
Waktu token
—
- Algoritma
- —
- Diterbitkan pada
- —
- Tidak berlaku sebelum
- —
- Kedaluwarsa pada
- —
Klaim terdaftar
Tentang Pendekode JWT
Alat Pendekode JWT adalah alat online gratis yang langsung mendekode JSON Web Token apa pun menjadi tiga bagian penyusunnya: Header, Payload, dan Signature. JSON Web Token (JWT) adalah standar terbuka (RFC 7519) yang dipakai untuk mengirim informasi antar pihak secara aman sebagai objek JSON yang ringkas dan berdiri sendiri. JWT menjadi tulang punggung autentikasi dan otorisasi modern pada aplikasi web, API, dan microservice.
Setiap JWT terdiri dari tiga segmen berenkode Base64URL yang dipisahkan titik. Header menentukan algoritma penandatanganan (seperti HS256 atau RS256) dan jenis token. Payload berisi klaim: pasangan kunci-nilai yang membawa data pengguna, izin, waktu kedaluwarsa, dan metadata lainnya. Signature memastikan token tidak diubah dan hanya dapat diverifikasi dengan secret atau kunci publik yang benar.
Alat ini mendekode JWT sepenuhnya di browser Anda tanpa perjalanan ke server, sehingga token Anda tidak pernah dikirim atau disimpan di luar perangkat. Alat ini juga memeriksa status kedaluwarsa, memformat timestamp menjadi tanggal yang mudah dibaca, dan memberikan penjelasan untuk registered claim standar seperti iss, sub, aud, exp, iat, dan nbf.
Fitur utama
- Dekode JWT apa pun secara instan menjadi bagian Header, Payload, dan Signature
- Pemeriksaan kedaluwarsa otomatis dengan banner status yang jelas: "Token Not Expired", "Token Not Yet Active", atau "Token Expired"
- Format timestamp Unix (exp, iat, nbf) yang mudah dibaca, lengkap dengan tampilan zona waktu
- Penjelasan untuk semua registered claim standar (iss, sub, aud, exp, nbf, iat, jti)
- Tombol salin satu klik untuk header, payload, dan signature secara terpisah
- Dekode real-time saat Anda mengetik atau menempel, dengan penanganan input debounce
- Bagian berkode warna: biru untuk Header, ungu untuk Payload, oranye untuk Signature
- Badge algoritma (HS256, RS256, ES256, dan lainnya) ditampilkan jelas di banner status
- Token contoh tersedia untuk pengujian dan demonstrasi cepat
- Pemrosesan 100% di sisi klien tanpa data yang dikirim ke server mana pun
Cara menggunakan
- Tempel JWT Anda: Salin JSON Web Token dari aplikasi, respons API, developer tools browser, atau sistem autentikasi Anda, lalu tempel ke kolom input.
- Lihat bagian hasil dekode: Alat ini langsung memecah token menjadi Header, Payload, dan Signature, lalu menampilkan masing-masing dalam panel berformat dan berkode warna.
- Periksa kedaluwarsa: Banner status di bagian atas menunjukkan apakah token masih valid atau sudah kedaluwarsa, lengkap dengan tanggal kedaluwarsa pasti dan hitung mundur.
- Baca penjelasan klaim: Registered claim standar seperti iss, sub, exp, dan iat diberi anotasi deskripsi agar Anda memahami arti setiap field.
- Salin bagian token: Gunakan tombol salin pada bagian mana pun untuk menyalin JSON berformat ke papan klip Anda untuk dokumentasi atau debugging.
- Coba contoh: Klik tombol "Sample Token" untuk memuat JWT siap pakai dan lihat cara kerja dekoder sebelum Anda menempel token sendiri.
Kasus penggunaan
- Debugging autentikasi: Periksa JWT yang dikembalikan server autentikasi Anda dengan cepat untuk memastikan klaim, peran, dan izin sudah diatur dengan benar.
- Pengembangan API: Dekode access token saat integrasi API untuk memastikan payload berisi ID pengguna, scope, dan waktu kedaluwarsa yang diharapkan.
- Audit keamanan: Periksa token untuk paparan data sensitif, algoritma lemah (seperti "none"), atau masa berlaku yang terlalu lama.
- Belajar & pendidikan: Pahami struktur JWT dengan mendekode token contoh dan membaca deskripsi klaim beranotasi yang disediakan alat ini.
- Pemecahan masalah token kedaluwarsa: Tentukan apakah kegagalan autentikasi disebabkan token kedaluwarsa dengan memeriksa klaim exp terhadap waktu saat ini.
- Debugging microservice: Periksa token yang diteruskan antarlayanan untuk memastikan layanan hulu menerbitkan JWT dengan struktur dan klaim yang benar.
- Validasi alur OAuth: Dekode ID token dan access token dari alur OAuth 2.0 dan OpenID Connect untuk memverifikasi nilai issuer, audience, dan scope.
- Dokumentasi: Salin JSON header dan payload hasil dekode ke dokumentasi API atau runbook untuk mengilustrasikan struktur token yang diharapkan.
Pertanyaan yang sering diajukan
Apakah alat ini gratis?
Ya. Pendekode JWT sepenuhnya gratis tanpa perlu akun, tanpa batas penggunaan, dan tanpa iklan yang menghalangi fungsi.
Apakah data saya aman?
Tentu. Seluruh proses dekode berlangsung di browser Anda memakai JavaScript. JWT Anda tidak pernah dikirim ke server mana pun, sehingga alat ini aman untuk memeriksa token produksi.
Apakah alat ini memverifikasi signature JWT?
Tidak. Verifikasi signature memerlukan secret key (untuk HMAC) atau kunci publik (untuk RSA/ECDSA), yang tidak dapat dilakukan dengan aman di browser sisi klien. Gunakan pustaka sisi server untuk validasi signature.
Apa perbedaan antara HS256 dan RS256?
HS256 adalah algoritma simetris yang memakai satu secret bersama untuk penandatanganan sekaligus verifikasi. RS256 adalah algoritma asimetris yang memakai kunci privat untuk menandatangani dan kunci publik untuk memverifikasi, sehingga ideal untuk sistem terdistribusi.
Bisakah saya mendekode JWT terenkripsi (JWE)?
Alat ini mendekode JWT bertanda tangan (JWS). JWT terenkripsi (JWE) memerlukan kunci dekripsi dan tidak didukung oleh dekoder ini.
Mengapa token saya ditampilkan sebagai kedaluwarsa?
Alat ini membandingkan klaim exp (expiration) dengan waktu sistem Anda saat ini. Jika timestamp kedaluwarsa sudah lewat, token ditandai sebagai kedaluwarsa. Pastikan jam sistem Anda akurat.
Tips & praktik terbaik
- Buat token berumur pendek: Gunakan masa berlaku 15 sampai 60 menit untuk access token dan padukan dengan refresh token HTTP-only yang aman agar sesi tetap berlanjut.
- Jangan simpan rahasia di payload: JWT hanya di-encode, tidak dienkripsi. Siapa pun yang memegang token dapat mendekode payload-nya, jadi jangan pernah menyertakan kata sandi, nomor kartu kredit, atau data sensitif lainnya.
- Selalu validasi di sisi server: Mendekode JWT di browser berguna untuk debugging, tetapi selalu verifikasi signature di backend Anda sebelum memercayai klaim apa pun.
- Pakai algoritma asimetris untuk sistem terdistribusi: Pilih RS256 atau ES256 saat beberapa layanan perlu memverifikasi token secara mandiri tanpa berbagi secret key.
- Pantau ukuran token: Payload besar menambah ukuran header permintaan dan dapat memperlambat panggilan API. Buat klaim seminimal mungkin dan gunakan referensi (seperti ID pengguna), bukan menyematkan profil pengguna lengkap.
- Rotasi kunci penandatangan secara berkala: Terapkan strategi rotasi kunci dengan parameter header kid (Key ID) untuk berpindah antar kunci penandatangan tanpa membatalkan semua token yang ada.