Konverter Gratis

Dekoder Token JWT

Dekode header dan payload JWT (JSON Web Token) secara instan di browser Anda. Gratis, privat, dan sisi klien — tidak ada data yang dikirim ke server mana pun.

Tentang alat ini

JSON Web Tokens (JWT) adalah format kompak dan aman untuk URL untuk mengirimkan klaim antara dua pihak, yang ditentukan oleh RFC 7519. JWT adalah tiga segmen berkode url base64 yang dipisahkan oleh titik: header (algoritma dan jenis token), payload (klaim), dan tanda tangan (bukti keaslian kriptografi). Header dan payloadnya adalah JSON, dikodekan base64url untuk keamanan URL; tanda tangan menggunakan salah satu dari beberapa algoritma (HS256, RS256, ES256, dan lainnya) pada header dan payload yang dikodekan.

Mendekode JWT — membaginya menjadi beberapa segmen dan mendekode base64 masing-masing — tidak memerlukan rahasia apa pun. Siapa pun yang memiliki teks token dapat membaca header dan payloadnya. Namun tanda tangan hanya dapat diverifikasi dengan rahasia (HMAC) atau kunci publik (asimetris). Decoding adalah untuk inspeksi; verifikasi itulah yang membuktikan keasliannya.

Dekoder ini membagi token, mendekode base64 setiap segmen, mem-parsing header dan payload sebagai JSON, dan menampilkan hasilnya. Itu tidak mencoba verifikasi tanda tangan karena memerlukan rahasia atau kunci publik, yang tidak dimiliki dekoder. Output yang didekodekan adalah inspeksi hanya-baca — berguna untuk men-debug token tetapi bukan pengganti verifikasi yang tepat dalam kode aplikasi.

Mengapa Mendekode JWT

Men-debug masalah autentikasi hampir selalu melibatkan pemeriksaan token. Token yang terlihat valid dalam kode mungkin memiliki klaim yang salah, algoritme yang tidak terduga, stempel waktu kedaluwarsa, atau ketidakcocokan audiens. Penguraian kode token mengungkapkan dengan tepat apa yang diproduksi oleh penerbit.

Memeriksa token selama pekerjaan integrasi juga membantu. Saat terhubung ke API pihak ketiga atau penyedia identitas, nama, format, dan struktur klaim sebenarnya paling baik dipahami dengan mendekode token sampel daripada mengandalkan dokumentasi yang mungkin sudah ketinggalan zaman.

Cara menggunakan

Tempelkan token, dapatkan konten yang diurai.

  1. Rekatkan JWT Anda: Letakkan token lengkap (header.payload.signature) ke dalam area input. Dekoder menerima token dengan atau tanpa awalan Pembawa opsional.
  2. Periksa headernya: Header menunjukkan algoritma penandatanganan (alg) dan tipe token (typ). Algoritma yang umum adalah HS256, RS256, dan ES256. Perhatikan alg: none, yang menandakan token yang tidak ditandatangani dan jarang aman dalam produksi.
  3. Periksa muatannya: Payload berisi klaim: iss (penerbit), sub (subjek), aud (audiens), exp (kedaluwarsa), iat (dikeluarkan pada), dan klaim khusus aplikasi apa pun. Stempel waktu standar adalah detik zaman Unix.
  4. Verifikasi secara terpisah: Decoder tidak memverifikasi tanda tangan. Untuk memeriksa keaslian, jalankan token melalui perpustakaan JWT dengan rahasia atau kunci publik yang sesuai dalam kode aplikasi Anda.

Kasus Penggunaan Umum

Detail Teknis

Format JWT adalah tiga segmen yang dihubungkan dengan titik. Setiap segmen dikodekan dengan url base64 — varian aman URL dari base64 yang menggunakan - dan _ sebagai pengganti + dan /, dengan padding terkadang dihilangkan. Penguraian sandi memerlukan pembatalan substitusi aman URL, menambahkan segmen, dan penguraian kode base64.

Header dan payload adalah JSON setelah decoding. Segmen tanda tangan adalah biner (byte tanda tangan mentah) dan tidak dapat dibaca manusia; itu memerlukan kunci verifikasi agar berguna.

Klaim umum yang didefinisikan dalam RFC 7519: iss (penerbit), sub (pengidentifikasi subjek), aud (audiens), exp (kedaluwarsa sebagai Unix epoch detik), nbf (bukan sebelum stempel waktu), iat (dikeluarkan pada stempel waktu), jti (ID token unik). Klaim khusus aplikasi dapat muncul dengan nama apa pun.

Praktik Terbaik

Pertanyaan yang sering diajukan

Apakah aman menempelkan JWT saya di sini?
Ya. Penguraian kode terjadi sepenuhnya di browser Anda — token tidak pernah dikirim ke server mana pun. Namun, JWT adalah kredensial — jangan membagikannya secara publik (dalam tangkapan layar, postingan Stack Overflow, dll.) karena dapat memberikan akses ke akun Anda.
Apakah alat ini memverifikasi tanda tangan JWT?
Alat ini menerjemahkan dan menampilkan konten token. Verifikasi tanda tangan memerlukan kunci rahasia (HMAC) atau kunci publik (RSA/ECDSA), yang harus tetap ada di server Anda. Alat tersebut menunjukkan algoritme yang digunakan tetapi tidak dapat memverifikasi tanpa kuncinya.
Apa yang dimaksud dengan klaim standar JWT?
iss = penerbit, sub = subjek (ID pengguna), exp = waktu kedaluwarsa (cap waktu Unix), iat = diterbitkan pada, nbf = bukan sebelumnya, aud = audiens, jti = ID JWT. Klaim khusus dapat berisi data khusus aplikasi apa pun.
Mengapa ada orang yang bisa memecahkan kode JWT?
JWT dikodekan, bukan dienkripsi. Payloadnya dikodekan Base64URL (tidak dienkripsi), sehingga siapa pun dapat membacanya. Tanda tangan mencegah gangguan, bukan membaca. Jangan pernah menyimpan data sensitif (kata sandi, SSN) di payload JWT.
Mengapa beberapa token tidak memiliki tanda tangan?
Token dengan alg: tidak ada yang tidak memiliki tanda tangan. Ini adalah JWT yang valid berdasarkan spesifikasi tetapi tidak memberikan jaminan keaslian dan tidak boleh diterima dalam produksi.
Apakah JWT dienkripsi?
Muatan JWT standar ditandatangani tetapi tidak dienkripsi. JWE (JSON Web Encryption, RFC 7516) adalah format terpisah untuk token terenkripsi. Kebanyakan JWT di alam liar adalah JWS (hanya bertanda tangan).
Apakah token saya diunggah ke server?
Tidak. Decoding terjadi di browser Anda; token tidak meninggalkan perangkat Anda.
Berapa lama biasanya JWT?
Mulai dari beberapa ratus hingga beberapa ribu karakter. Panjangnya bergantung pada jumlah dan ukuran klaim ditambah panjang tanda tangan (yang bergantung pada algoritma).