Dekoder JWT

Baca header, claim, dan masa berlaku JSON Web Token di browser Anda. Hanya mendekode: tidak ada tanda tangan yang diverifikasi.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah, dicatat, atau disimpan.

Ini mendekode. Ini tidak memverifikasi. Tidak ada informasi di bawah ini yang menunjukkan apakah token ini asli. Siapa pun yang memegang token bertanda tangan dapat membaca klaimnya, dan siapa pun dapat menulis token yang terlihat seperti ini. Periksa tanda tangannya di aplikasi Anda, dengan kunci Anda.

Tiga bagian yang dipisahkan titik. Tidak ada yang dikirim ke mana pun.

Tempelkan sebuah token dan lihat header, claim, dan masa berlakunya. Dekode dilakukan di browser Anda: token tidak dikirim, tidak dicatat, dan tidak disimpan.

Alat ini tidak memeriksa tanda tangan, dan apa pun yang ditampilkannya tidak berarti token tersebut asli.

Cara kerja

JSON Web Token terdiri atas tiga bagian berenkode base64url yang dipisahkan titik: header yang menyebutkan algoritme penandatangannya, payload berisi claim, dan tanda tangan atas dua bagian pertama. Dua bagian pertama dienkode, bukan dienkripsi: siapa pun yang memegang token dapat membacanya, dan itulah persis yang terjadi di sini.

Claim waktu terdaftar ditampilkan sebagai tanggal yang mudah dibaca: `exp` kapan token tidak lagi berlaku, `nbf` kapan mulai berlaku, `iat` kapan diterbitkan. Claim tersebut dibandingkan dengan jam Anda untuk menunjukkan posisi token dalam rentang masa berlakunya.

Tanda tangan ditampilkan apa adanya dan tidak didekode. Tanda tangan dibuat atas byte, bukan atas teks, dan menampilkannya sebagai karakter akan memberi kesan bahwa isinya bermakna.

Contoh

Kasus Masukan Hasil
Token yang menyatakan dirinya tanpa tanda tangan eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJzdWIiOiIxMjM0NTY3ODkwIn0. alg none, typ JWT, sub 1234567890

Pertanyaan umum

Mengapa alat ini tidak memverifikasi tanda tangan?

Karena verifikasi memerlukan kunci penandatanganan, dan halaman yang memintanya berarti meminta Anda menempelkan rahasia yang melindungi sistem Anda ke sebuah situs web. Ada juga alasan yang lebih halus: dekoder yang tampak memverifikasi akan mengajak Anda memercayai payload yang bisa saja ditulis oleh siapa pun. Lakukan verifikasi di aplikasi Anda, dengan kunci Anda.

Apakah JWT terenkripsi?

Tidak. Token yang ditandatangani itu dienkode, dan itu tidak sama: siapa pun yang memegangnya dapat membaca semua claim-nya tanpa perlu kunci. Jangan pernah memasukkan ke dalam token apa pun yang tidak boleh dilihat oleh pembawanya. Token terenkripsi memang ada—terdiri atas lima bagian, bukan tiga—dan alat ini tidak dapat membacanya.

Apa arti algoritme “none”?

Artinya token itu tidak bertanda tangan sama sekali. Ini serangan tertua terhadap JWT: membuang tanda tangan, mengatur `alg` menjadi `none`, dan berharap pustaka penerima menerimanya. Halaman ini memperingatkan token seperti itu; jika Anda melihat token seperti itu yang tidak Anda buat sendiri, anggaplah sebagai ancaman.

Apakah token saya keluar dari browser?

Tidak. Dekode berjalan secara lokal dalam JavaScript, dan alat ini tidak punya tautan berbagi, karena tautan akan menaruh token di dalam URL, tempat token akan berakhir di riwayat browser dan di log server.

Perlu diketahui

  • Hanya mendekode. Tidak ada tanda tangan yang diverifikasi, dan tidak ada apa pun di halaman ini yang menyatakan apakah sebuah token asli.
  • Token didekode di browser Anda dan tidak pernah dikirim, dicatat, atau disimpan. Alat ini memerlukan JavaScript; tanpanya tidak ada dekode sama sekali.
  • Token yang ditandatangani dapat dibaca oleh siapa pun yang memegangnya. Anggap semua claim-nya bersifat publik.

Sumber

Semua alat Kode