Decoder JWT
Periksa JSON Web Token apa pun di browser. Lihat header, payload, signature, dan claim yang dapat dibaca dengan timestamp relatif. Token tidak pernah meninggalkan perangkat.
Apa itu JWT?
JSON Web Token (JWT) adalah cara kompak dan URL-safe untuk mengirim claim bertanda tangan. Banyak digunakan di OAuth/OpenID, autentikasi SPA-API, dan microservice.
Apa isi JWT?
Tiga bagian. Header — mendeklarasikan algoritma (HS256, RS256) dan tipe. Payload — claim: subjek, expiration, data. Signature — bukti kriptografi atas dua bagian pertama.
JWT vs token sesi
JWT membawa identitas pengguna di dalam token, sehingga server tidak butuh lookup. Token sesi adalah ID opaque yang dipetakan ke state server.
Butuh decoding base64 mentah? Coba encoder Base64.
Penggunaan Umum
- Debugging OAuth/OIDC: Periksa token dari Auth0, Okta, Cognito.
- Troubleshooting auth API: Saat 401 muncul, decode token dari header Authorization untuk cek exp dan audience.
- Integrasi SSO: Verifikasi claim apa yang dipancarkan IdP sebelum mengubah konfigurasi SAML/OIDC.
- Verifikasi trust microservice: Konfirmasi token internal membawa claim identitas yang benar.
- Debugging Postman/Insomnia: Tempel token dari variabel koleksi untuk konfirmasi tenant.
- Inspeksi token aplikasi mobile: Decode token yang ditangkap mitmproxy/Charles Proxy.
- Code review: Periksa token di PR dan unit test — exp 5 menit atau 5 hari? Apakah sub bocorkan PII?
FAQ
Apa itu JWT?
JSON Web Token adalah cara kompak dan URL-safe untuk merepresentasikan claim antara dua pihak. Didefinisikan di RFC 7519.
Apakah JWT dienkripsi?
Tidak — secara default JWT ditandatangani tapi tidak dienkripsi. Header dan payload adalah JSON base64url, dapat dibaca siapa pun yang memegang token. Untuk kerahasiaan, gunakan JWE (RFC 7516).
Bagaimana base64url berbeda dari base64?
Base64url adalah varian URL-safe (RFC 4648 §5). Mengganti + dan / dengan - dan _, dan menghilangkan padding =. JWT memakainya agar aman di URL dan header.
Mengapa alat ini tidak memverifikasi signature?
Memverifikasi signature membutuhkan kunci — menempel kunci produksi ke alat browser adalah hal terburuk. Kami sengaja mengecualikan verifikasi.
JWT vs sesi — kapan pakai apa?
JWT bagus untuk microservice stateless dan klien mobile. Sesi lebih sederhana untuk aplikasi web tradisional. Sistem nyata sering memakai keduanya.
Dalam Angka
- JWT didefinisikan dalam RFC 7519 (Mei 2015) sebagai cara kompak dan URL-safe untuk merepresentasikan claim antara dua pihak
- JWT tidak dienkripsi secara default — siapa pun yang memegangnya bisa membaca payload. Pakai JWE (RFC 7516) bila kerahasiaan diperlukan
- Signature memakai JWS (RFC 7515) — biasanya HMAC-SHA256 (HS256) untuk token shared-secret atau RSA-SHA256 (RS256) untuk verifikasi asimetris
- Base64url (dipakai di JWT) adalah varian URL-safe yang didefinisikan di RFC 4648 §5 — mengganti
+//dengan-/_dan tanpa padding