Dekoder JWT

Dekode header dan payload dari JSON Web Token (tanpa verifikasi tanda tangan)

Tanda tangan ditampilkan secara mentah — alat ini tidak memverifikasinya. Untuk memverifikasi keaslian, gunakan server dengan kunci rahasia/publik.

Apa itu JWT?

JSON Web Token adalah tiga bagian yang terkode Base64URL yang dipisahkan oleh titik: header (algoritma yang digunakan), payload (klaim — biasanya ID pengguna, masa berlaku, cakupan), dan tanda tangan. Header dan payload TIDAK dienkripsi, hanya terkode — siapa pun yang memiliki token dapat membacanya. Tanda tangan membuktikan bahwa token tidak diubah.

Dekoder membagi tiga bagian, mendekode Base64URL dua yang pertama, dan menampilkan JSON dengan format yang rapi. Ini TIDAK memverifikasi tanda tangan — itu memerlukan kunci rahasia atau publik dari server penerbit. Jangan tempel token produksi ke dalam dekoder yang tidak tepercaya; yang ini hanya di browser dan tidak pernah mengunggah, tetapi sebagai kebiasaan, gunakan token dari lingkungan pengembangan Anda sendiri untuk pengujian.

Kasus penggunaan

  • Audit JWT pihak ketiga — tempel header Otorisasi untuk membaca header dan payload tanpa mempercayai debugger jarak jauh.
  • Debug kegagalan otentikasi — verifikasi klaim exp / iat / aud cocok dengan apa yang diharapkan backend Anda saat 401 muncul di pengembangan.
  • Periksa token OAuth / OIDC — dekode token akses atau id yang dikembalikan oleh Google, Auth0, atau Okta untuk melihat klaim pengguna.
  • Ajarkan struktur JWT — tunjukkan kepada siswa tiga segmen Base64 dan bagaimana penandatanganan melindungi tetapi tidak mengenkripsi payload.

Contoh

Decoding a sample token
Input
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyXzEiLCJleHAiOjE3MDAwMDAwMDB9.signature
Output
Header:
{"alg": "HS256"}

Payload:
{"sub": "user_1", "exp": 1700000000}

Pertanyaan yang sering diajukan

Apakah dekoder memverifikasi tanda tangan?

Tidak — verifikasi memerlukan kunci rahasia (HS256) atau kunci publik (RS256) yang digunakan untuk menandatangani token. Dekoder hanya menunjukkan apa yang ada di dalamnya; kepercayaan berasal dari verifikasi sisi server.

Apakah isi JWT dienkripsi?

Tidak, hanya terkode Base64. Siapa pun yang memiliki token dapat membaca klaim. Gunakan JWE (JWT terenkripsi) jika klaim perlu dirahasiakan.

Apa arti klaim `exp`?

Timestamp Unix di mana token kedaluwarsa. Token yang melewati `exp` mereka harus ditolak oleh server. Dekoder menandai token yang kedaluwarsa untuk Anda.

Bisakah saya mendekode token yang tidak terformat?

Jika suatu bagian gagal untuk mendekode Base64 atau mengurai sebagai JSON, dekoder menunjukkan kesalahan yang menunjuk pada bagian yang bermasalah.

Apakah token saya diunggah?

Tidak. Dekode murni menggunakan JavaScript — token Anda tetap di perangkat Anda.