๐ŸŒ ID

๐Ÿ”“ JWT Decoder

Tempel JWT (JSON Web Token) untuk langsung mendekode header dan payload-nya dari base64url menjadi JSON yang rapi. Klaim exp/iat/nbf ditampilkan sebagai waktu yang mudah dibaca, dengan lencana yang menunjukkan apakah token sudah kedaluwarsa.

โš ๏ธ Alat ini hanya mendekode โ€” tidak memverifikasi signature. Dengan sengaja tidak ada kolom input secret key demi alasan keamanan. Jika Anda perlu verifikasi signature, gunakan library JWT sisi server.

PANDUAN

Pelajari lebih lanjut

01

1. Memahami struktur JWT

JWT memiliki tiga bagian yang dipisahkan titik: header.payload.signature. Header memuat algoritma penandatanganan (alg) dan jenis token (typ); payload memuat klaim sebenarnya (ID pengguna, izin, waktu pembuatan, dan lain-lain), semuanya dienkode base64url. Signature adalah header+payload yang ditandatangani dengan secret (atau private key), digunakan untuk memverifikasi bahwa token tidak diubah โ€” tetapi alat ini tidak melakukan verifikasi tersebut.

02

2. Klaim exp, iat, dan nbf

exp (expiration) adalah waktu token kedaluwarsa, iat (issued at) adalah waktu token diterbitkan, dan nbf (not before) berarti token belum valid sebelum waktu itu. Ketiganya disimpan sebagai timestamp Unix (detik), yang sekilas tidak mudah dibaca. Alat ini menampilkan masing-masing sebagai waktu lokal dan ISO 8601, serta memberi lencana "Expired" jika exp sudah lewat.

03

3. Saat Anda perlu verifikasi signature

Memverifikasi signature JWT memerlukan secret yang dipakai untuk menandatanganinya (keluarga HMAC, mis. HS256) atau public key yang sesuai (keluarga RSA/ECDSA, mis. RS256/ES256). Itu adalah operasi sensitif yang sebaiknya dilakukan di sisi server, jadi alat browser ini hanya mendekode (memungkinkan Anda meninjau kontennya) dan tidak pernah meminta secret. Untuk verifikasi sebenarnya, gunakan library JWT backend (jsonwebtoken, PyJWT, firebase-admin, dll.).

Pertanyaan umum

Apakah alat ini bisa digunakan untuk memalsukan JWT?
Tidak. Alat ini hanya mendekode (base64url-decode) โ€” tidak pernah membuat atau memverifikasi signature. Signature yang valid memerlukan secret/private key yang hanya diketahui penerbit, dan alat ini tidak pernah menerimanya.
Mengapa tidak ada kolom input secret key?
Demi keamanan. Menempelkan secret ke alat browser adalah kebiasaan yang berisiko membuatnya terekspos tanpa sengaja, jadi alat ini memang dirancang untuk tidak pernah menerimanya sejak awal.
Bagaimana cara mengetahui apakah token sudah kedaluwarsa?
Jika payload memiliki klaim exp, nilainya otomatis dibandingkan dengan waktu saat ini dan ditampilkan sebagai lencana "Expired" atau "Valid (belum kedaluwarsa)".
Apakah token yang saya tempel dikirim ke server?
Tidak. Proses dekode sepenuhnya berjalan di JavaScript browser Anda dan tidak pernah dikirim ke server.