Panduan alat
Tentang Decoder dan parser JWT
JWT Parser mendecode Header dan Payload dari JSON Web Token agar Anda bisa memeriksa alg, typ, signature status, dan klaim umum seperti iss, sub, aud, iat, nbf, dan exp.
Alat ini mengurai token lokal di peramban dan bisa menandatangani ulang Header/Payload yang diedit dengan rahasia HMAC lokal. Token tidak diunggah ke wetool.site.
Cara memakai JWT Parser
- Tempel JWT lengkap dalam format header.payload.signature.
- Klik Decode untuk melihat Header, Payload, dan ringkasan common klaim.
- Periksa exp, nbf, dan iat; biasanya berupa detik epoch.
- Untuk HMAC test token, masukkan secret agar Header/Payload yang diedit di-menandatangani ulang lokal di peramban.
Kapan dipakai
- Debug auth session dengan mengecek apakah token expired atau belum valid.
- Pastikan alg, typ, iss, aud, dan sub sesuai kontrak API gateway atau server.
- Pretty-print payload JSON untuk menemukan scope, role, tenant_id, atau field khusus aplikasi.
- Edit claim development token dan menandatangani ulang lokal dengan rahasia HMAC yang diketahui.
Struktur JWT, klaim, dan batas signature
JWT biasanya memiliki tiga bagian Base64URL: Header, Payload, dan Tanda tangan. Decode Header/Payload tidak membutuhkan secret, tetapi mempercayai token membutuhkan verifikasi tanda tangan dengan key yang benar.
- Header: biasanya berisi alg dan typ, menjelaskan signing algorithm dan token type.
- Payload: berisi klaim seperti iss, sub, aud, iat, nbf, exp, dan app-specific fields.
- Tanda tangan: melindungi Header/Payload dari perubahan; decode token tidak membuktikan tanda tangan valid.
- Klaim waktu: iat, nbf, dan exp biasanya dalam detik Unix, bukan milidetik.
Pertanyaan umum tentang Parser JWT
- Apakah decode JWT sama dengan verify?
- Tidak. Decode hanya membaca Header dan Payload. Verify perlu memeriksa signature dengan secret atau kunci publik yang benar.
- Mengapa payload bisa dibaca tanpa password?
- JWT Header dan Payload adalah Base64URL encoding, bukan encryption. Jangan menyimpan secrets di JWT payload biasa.
- Apa itu exp, iat, dan nbf?
- exp adalah waktu kedaluwarsa, iat adalah waktu penerbitan, dan nbf adalah waktu mulai berlaku. Umumnya disimpan sebagai detik Unix.
- Apakah token masih jalan setelah Payload diedit?
- Biasanya tidak kecuali di-menandatangani ulang. Alat ini bisa menandatangani ulang HMAC test tokens secara lokal saat secret dimasukkan.
- Apakah JWT saya diunggah?
- Tidak. Decode, editing, dan HMAC re-signing berjalan lokal di peramban dan tidak diunggah ke wetool.site.
JWT vs cookie sesi
Sesi biasanya menyimpan state di server dan memberi peramban ID sesi. JWT membawa klaim di dalam token, berguna antar layanan, tetapi masa berlaku, kunci penandatanganan, dan isi payload harus lebih dijaga.
Checklist verifikasi tanda tangan dan alg JWT
JWT yang bisa didecode tidak otomatis trustworthy. Verification sebenarnya harus menetapkan algorithm, key source, issuer, audience, dan signature policy.
- Jangan memilih verification algorithm hanya dari token alg header; server harus memakai configured allowlist.
- Perlakukan alg=none, HS256/RS256 confusion, atau kid yang menunjuk external locations sebagai high-risk configurations.
- Alat ini berguna untuk inspection dan HMAC test tokens, tetapi production verification harus di server atau auth gateway.
Debug waktu exp, nbf, dan iat
Klaim waktu pada JWT umumnya dalam detik Unix. Jika masa berlakunya terlihat salah, periksa dulu tertukarnya detik dengan milidetik, selisih jam, dan zona waktu yang ditampilkan.
- Jika exp lebih awal dari current detik epoch, token expired; jika nbf lebih lambat dari sekarang, token belum aktif.
- Membaca milidetik 13 digit sebagai detik menghasilkan tanggal yang sangat jauh; membaca detik 10 digit sebagai milidetik jatuh di dekat 1970.
- Servers harus menjaga NTP sync dan mengizinkan small clock skew, tetapi grace period panjang tidak boleh menutupi configuration mistakes.