Dekoder JWT
Dekode JSON Web Token menjadi header, muatan, dan klaimnya, lihat apakah token telah kedaluwarsa, dan secara opsional verifikasi tanda tangan HS256, HS384, atau HS512.
Tiga bagian base64url yang dipisahkan oleh titik: header.payload.signature.
Token yang didekode
Header
Muatan
| Klaim | Nilai | Arti |
|---|
Tandatangani
Proses dekode tidak memeriksa tanda tangan. Masukkan rahasia yang digunakan untuk menandatangani token ini guna memverifikasinya di sini, sepenuhnya dalam peramban Anda.
Cara kerja
Alat ini adalah dekoder JWT sisi klien yang memecah token menjadi bagian header, muatan, dan tanda tangannya, mendekode header dan muatan base64url, serta menampilkan klaim terdaftar seperti exp, iat, dan sub dengan stempel waktu yang mudah dibaca serta lencana kedaluwarsa atau valid berdasarkan waktu saat ini.
- Tempelkan token
String tiga bagian yang dipisahkan oleh titik.
- Baca klaim
Klaim standar diberi label, dengan stempel waktu yang dikonversi menjadi tanggal yang mudah dibaca.
- Verifikasi tanda tangan (opsional)
Untuk token HS256, HS384, atau HS512, tempelkan rahasianya untuk memeriksanya.
Mendekode bukan memverifikasi
JWT memiliki tiga bagian yang digabungkan oleh titik: header yang menjelaskan algoritma penandatanganan, muatan berisi klaim, dan tanda tangan. Header dan muatan hanya dikodekan dengan base64url, bukan dienkripsi, sehingga siapa pun dapat mendekode dan membacanya tanpa kunci, yang persis seperti yang dilakukan alat ini. Tanda tanganlah yang benar-benar membuktikan bahwa token diterbitkan oleh pihak yang memegang rahasia atau kunci privat, dan memeriksanya merupakan operasi yang terpisah dari proses dekode.
- Klaim terdaftar: exp (kedaluwarsa), iat (diterbitkan pada), nbf (tidak sebelum), sub (subjek), iss (penerbit), aud (audiens), dan jti (ID token) dikenali dan diberi label; exp, iat, dan nbf juga ditampilkan sebagai tanggal yang dapat dibaca.
- Pemeriksaan kedaluwarsa: membandingkan klaim exp, jika ada, dengan waktu saat ini di perangkat Anda.
- Verifikasi tanda tangan: untuk token HS256, HS384, dan HS512, memasukkan rahasia bersama akan menghitung ulang HMAC di peramban Anda menggunakan Web Crypto API dan membandingkannya dengan tanda tangan token. RS256, ES256, dan algoritma kunci publik lainnya memerlukan kunci publik penerbit, bukan rahasia bersama, yang tidak diterima oleh alat ini, sehingga algoritmanya dilaporkan sebagai tidak didukung untuk verifikasi di sini.
Jangan memercayai token yang telah didekodekan tetapi belum Anda verifikasi
Siapa pun dapat membuat JWT dengan klaim apa pun dan tanda tangan yang tidak valid karena proses dekoding tidak pernah memeriksanya. Jangan pernah mengambil keputusan otorisasi hanya berdasarkan payload yang didekodekan; verifikasi tanda tangan terlebih dahulu, biasanya di server Anda dengan pustaka yang sama yang menerbitkan token tersebut. Semua proses di halaman ini berjalan di peramban Anda: token dan rahasia apa pun yang Anda masukkan untuk verifikasinya tidak pernah dikirim ke mana pun.
Pertanyaan yang sering diajukan
Bagaimana cara mendekodekan token JWT untuk melihat payload-nya?
Tempelkan JWT lengkap, yaitu string tiga bagian yang dipisahkan titik, ke dalam kolom masukan. Alat ini akan memisahkannya pada setiap titik, mendekode segmen header dan payload dengan base64url, lalu menampilkan setiap klaim dalam tabel terstruktur. Klaim standar seperti exp (kedaluwarsa), iat (diterbitkan pada), dan sub (subjek) diberi label dan dikonversi menjadi tanggal yang mudah dibaca.
Apakah mendekode JWT memverifikasi tanda tangannya?
Tidak, mendekode dan memverifikasi adalah dua operasi yang berbeda. Mendekode hanya membaca header dan payload tanpa memeriksa tanda tangan kriptografis. JWT yang telah didekode dan tampak valid tetap bisa saja dipalsukan. Alat ini juga dapat memverifikasi tanda tangan HS256, HS384, atau HS512 jika Anda menyediakan rahasia bersama, tetapi algoritme kunci publik seperti RS256, ES256, dan lainnya tetap harus diverifikasi di server Anda, tempat kunci publik yang sesuai dengan kunci privat tersedia.
Apakah aman menempelkan JWT produksi ke dalam dekoder ini?
Dekoder ini berjalan sepenuhnya di peramban Anda; token maupun rahasia apa pun yang Anda masukkan untuk verifikasinya tidak pernah dikirim ke server mana pun. Sebagai praktik terbaik, hindari menempelkan token aktif yang memberikan akses sensitif di mana pun. Jika Anda perlu men-debug token produksi, gunakan salinan uji atau token dengan masa kedaluwarsa yang singkat.
Bagaimana cara mengetahui apakah sebuah JWT sudah kedaluwarsa menggunakan alat ini?
Setelah mendekode, cari klaim exp di bagian payload. Alat ini mengonversi stempel waktu Unix menjadi tanggal yang mudah dibaca dan menampilkan lencana kedaluwarsa atau valid berdasarkan waktu saat ini pada perangkat Anda. Jika waktu saat ini telah melewati nilai exp, token tersebut kedaluwarsa dan akan ditolak oleh server mana pun yang diterapkan dengan benar.
Algoritme JWT apa saja yang didukung dekoder ini?
Proses dekode berfungsi dengan token yang ditandatangani menggunakan algoritme apa pun, seperti HS256, RS256, ES256, dan sebagainya, karena pembacaan header dan payload hanya melibatkan dekode base64url yang tidak bergantung pada algoritme tertentu. Verifikasi tanda tangan dalam alat ini terbatas pada algoritme simetris HS256, HS384, dan HS512; token RS dan ES dilaporkan tidak didukung untuk verifikasi di sini karena memerlukan kunci publik, bukan rahasia bersama.