tools / jwt
jwt/
Dekode Header dan Payload JWT dan tampilkan exp / iat / nbf dalam waktu lokal. Hanya dekode, tanpa pemeriksaan signature.
Token
Waktu
Header
Payload
Signature
Pertanyaan umum
Apakah isi yang didekode bisa dipercaya? Apakah alat ini memverifikasi signature?
Tidak. Alat ini hanya mendekode Header dan Payload dan tidak pernah memeriksa signature, jadi dekode yang berhasil tidak berarti token itu asli atau belum diubah. Verifikasi signature memerlukan secret atau kunci publik dan sebaiknya dilakukan di backend Anda dengan library JWT. Selain itu, Payload hanya dikodekan dengan base64url, bukan dienkripsi, sehingga siapa pun yang memegang token bisa membacanya; jangan menaruh kata sandi atau data sensitif lain di dalamnya.
Apa arti "jumlah bagian salah" atau "ini adalah JWE"?
JWT terdiri dari tiga bagian, header.payload.signature, yang dihubungkan dengan titik, dan selain itu akan memunculkan pesan jumlah bagian salah. Penyebab umumnya adalah salinan yang tidak lengkap, teks tambahan yang ikut tersalin, atau yang ditempel sama sekali bukan JWT, misalnya session ID atau token acak yang opaque. Token dengan tepat 5 bagian adalah JWE, yang isinya terenkripsi sehingga tidak bisa didekode di sini.
Apa yang harus dilakukan jika muncul pesan "bukan base64url yang valid" atau "panjang tidak valid"?
Artinya salah satu bagian memuat karakter yang bukan bagian dari JWT, atau terpotong. Pesan menyebutkan bagian mana, dan untuk karakter ilegal akan ditunjukkan karakter yang mana. JWT memakai base64url yang hanya berisi huruf, angka, - dan _, dan tanda = di akhir bersifat opsional. Penyebab paling umum adalah tanda kutip di awal token; + atau / berarti Base64 biasa dipakai dan harus diganti dengan - dan _. Salinan yang terpotong biasanya menghasilkan "panjang tidak valid" atau "bukan JSON yang valid".
Bisakah saya menempel token dengan awalan Bearer atau jeda baris?
Bisa. Bearer di awal dihapus otomatis (tidak peka huruf besar-kecil), dan spasi, jeda baris, dan tab di dalam token diabaikan, jadi token yang disalin dari header permintaan atau log bisa ditempel apa adanya. Input di atas 1 MB langsung ditolak; JWT asli biasanya hanya beberapa ratus byte hingga beberapa KB.
Apa arti label "Kedaluwarsa", "Belum berlaku", dan "Di masa depan"?
Ketiganya berasal dari tiga kolom waktu di Payload. exp adalah waktu kedaluwarsa dan "Kedaluwarsa" muncul setelah waktu itu lewat; nbf adalah waktu mulai berlaku dan "Belum berlaku" muncul sebelum waktu itu; iat adalah waktu penerbitan, dan "Di masa depan" berarti waktunya lebih lambat dari sekarang, yang bisa menandakan jam penerbit dan komputer Anda tidak sinkron. Baris "Status" di atas memeriksa nbf lebih dulu, lalu exp, dan menampilkan "Valid" hanya jika keduanya baik; itu hanya soal waktu dan tidak menyatakan apa pun tentang signature.
Waktu yang tampil selisih beberapa jam, atau sisa waktunya tampak salah. Mengapa?
Halaman memakai zona waktu dan jam komputer Anda, dan zonanya ditampilkan setelah setiap tanggal, misalnya UTC+08:00. exp, iat, dan nbf adalah timestamp Unix dalam detik dan tidak bergantung pada zona waktu; zona yang berbeda hanya mengubah cara momen yang sama ditampilkan. Sisa waktu diperbarui setiap detik dan dihitung dari waktu komputer Anda saat ini, jadi jam yang salah menghasilkan hasil yang salah. Nilai yang sangat besar, seperti timestamp milidetik 13 digit, diberi catatan bahwa JWT memakai detik, dan kolom waktu lain seperti auth_time tidak dikonversi otomatis.
Bisakah token yang ditandatangani dengan HS256, RS256, ES256, dan algoritma lain didekode?
Bisa, semuanya. Dekode hanya mengubah dua bagian pertama kembali menjadi JSON dan tidak berhubungan dengan algoritma penandatanganan. Nilai alg dari Header ditampilkan di samping judul, dan jika alg adalah none, diberi tanda "tanpa signature". Bagian Signature ditampilkan sebagai teks base64url aslinya dan tidak didekode.
Apakah token yang saya tempel diunggah?
Tidak. Dekode berjalan di browser Anda dan halaman tidak membuat permintaan apa pun yang mengirim token ke mana pun. Meski begitu, token sering setara dengan kredensial login, jadi jangan sembarangan membagikan token aktif yang masih berlaku, dan jangan menempelkannya di situs yang tidak Anda kenal.