Isi yang ditampilkan dekoder JWT
JSON Web Token bertanda tangan dalam format ringkas biasanya terdiri dari tiga bagian yang dipisahkan titik: header, muatan, dan tanda tangan. Dekoder ini membaca dua bagian pertama yang dikodekan Base64url sebagai JSON UTF-8 agar pernyataannya dapat diperiksa. Bagian ketiga tidak diverifikasi. Membalik proses pengodean tidak membuktikan siapa penerbit token, apakah isinya pernah diubah, ataupun apakah server akan menerimanya. Header dapat menyebut algoritma dan jenis token. Muatan dapat berisi penerbit, audiens, subjek, serta klaim khusus aplikasi. Perlakukan semua data yang ditampilkan sebagai masukan yang tidak tepercaya sampai sistem menjalankan kebijakan validasinya. Token yang dimasukkan tetap berada di peramban.
Membaca exp, nbf, dan iat
Klaim waktu JWT seperti exp, nbf, dan iat memakai NumericDate yang dihitung dalam detik sejak awal zaman Unix. Angka 2.000.000.000 berarti detik, bukan milidetik. Dekoder menampilkan tanggal UTC yang mudah dibaca di samping angka aslinya. Ini membantu menyelidiki token yang kedaluwarsa, belum berlaku, atau diterbitkan pada saat yang tak terduga. Tanggal itu hanyalah penafsiran atas klaim dalam muatan, bukan hasil verifikasi. Tempel token contoh dan bandingkan nilai exp dengan tanggalnya. Bila pembuat token keliru menulis cap waktu 13 digit dalam milidetik, tanggalnya akan terlalu jauh atau di luar rentang berguna. Perbaiki sumber data alih-alih mengubah skala tanpa memahami format. Gunakan UTC saat membandingkan log server.
Alur untuk memeriksa kegagalan
Ambil token uji dari lingkungan pengembangan yang terkendali. Periksa apakah penerbit, audiens, dan subjek sesuai perkiraan, lalu bandingkan exp dan nbf dengan waktu permintaan gagal. Jika muatan tampak benar tetapi server tetap menolak token, telusuri pemeriksaan tanda tangan, pemilihan kunci, dan aturan aplikasi di sisi server. Dekoder tidak dapat menentukan apakah server seharusnya menerima token. Muatan hanya dikodekan, bukan dienkripsi; siapa pun yang memegang token dapat membaca nama serta data pribadi di dalamnya. Jangan taruh token akses nyata di tiket publik, tangkapan layar, URL, atau contoh bersama. Walaupun alat ini bekerja secara lokal, menyalin hasil tetap dapat membocorkan informasi.
Batas dan kesalahan umum
JWE terenkripsi dengan lima bagian bukan token bertanda tangan tiga bagian yang didukung alat ini. Segmen Base64url rusak, teks UTF-8 tidak sah, atau header JSON yang bukan objek ditolak tanpa perbaikan diam-diam. Halaman ini tidak mengambil kunci, memverifikasi tanda tangan JWS, memeriksa algoritma yang diizinkan, mencocokkan audiens, ataupun menerapkan toleransi waktu. Langkah tersebut membutuhkan pustaka validasi yang dikonfigurasi dengan benar. Jangan menyimpulkan otorisasi hanya karena menemukan peran admin setelah dekode; token yang diubah dapat menampilkan peran itu dengan tanda tangan tidak sah. exp yang masih jauh di masa depan juga tidak cukup. Penerbit, audiens, pencabutan, atau kebijakan lain dapat menyebabkan penolakan. Gunakan hasil untuk memahami struktur, bukan mengambil keputusan kepercayaan.