Decoder JWT
Tempel JSON Web Token untuk membaca header dan payload-nya, dengan waktu kedaluwarsa dan waktu terbit yang ditampilkan sebagai tanggal sungguhan.
Berjalan sepenuhnya di browser Anda
Tanda tangan tidak diverifikasi. Halaman ini men-decode token; tidak memeriksa apakah token itu asli. Siapa pun bisa membuat token dengan isi apa pun.
- Algoritma
- -
- Jenis
- -
- ID kunci
- -
- Bagian
- -
Waktu
| Claim | Zona waktu Anda, lalu UTC | Relatif |
|---|
Claim
| Claim | Arti | Nilai |
|---|
Token hingga 1 MB. Hanya decode: tanda tangan ditampilkan tetapi tidak diperiksa.
Cara decode JWT
- Tempel token ke dalam kotak. Awalan
Bearerserta spasi atau tanda kutip di sekelilingnya diabaikan. - Baca header dan payload di bawahnya, serta waktu kedaluwarsa, tidak-valid-sebelum dan waktu terbit dalam zona waktu Anda dan dalam UTC.
- Salin payload atau header hasil decode sebagai JSON yang rapi jika Anda membutuhkannya di tempat lain.
Apa isi sebuah JSON Web Token
Decoder JWT ini membaca JWT bertanda tangan, yang terdiri dari tiga potong teks Base64url yang digabung dengan titik: header, payload dan tanda tangan. Header dan payload hanyalah JSON yang ditulis dalam Base64url, itulah sebabnya siapa pun bisa membacanya. Base64url adalah encoding, bukan enkripsi, jadi jangan pernah menaruh rahasia di payload JWT kecuali token-nya terenkripsi.
Payload berisi claim. Sebagian nama sudah terdaftar: iss (siapa yang menerbitkan token), sub (tentang siapa token itu), aud (untuk siapa token itu ditujukan), exp (kapan kedaluwarsa), nbf (tidak valid sebelum), iat (kapan diterbitkan) dan jti (ID unik). Layanan menambahkan claim mereka sendiri, seperti peran, scope atau alamat email.
Tanda tanganlah yang membuat claim bisa dipercaya, dan memeriksanya membutuhkan kunci penandatanganan, yang seharusnya hanya dipegang oleh penerbit dan layanan yang menerima token tersebut. Decoder ini sengaja berhenti pada tahap membaca: alat ini menunjukkan apa isi token dan kapan kedaluwarsa, yang biasanya memang Anda perlukan saat men-debug login atau panggilan API.
Tips
- Ubah waktu Unix lainnya menjadi tanggal dengan Konverter timestamp Unix.
- Rapikan atau periksa payload besar dengan Format dan validasi JSON.
- Decode satu potong Base64url secara manual dengan Encode dan decode Base64.
Pertanyaan umum
Apakah alat ini memeriksa tanda tangan?
Tidak. Halaman ini hanya men-decode token. Siapa pun bisa membuat token dengan header dan payload apa pun, jadi isi yang ditampilkan di sini adalah klaim, bukan bukti. Hanya layanan yang memegang kunci penandatanganan (atau kunci publik, untuk token RS256 dan ES256) yang bisa memastikan apakah token itu asli, dan layanan itu juga harus memeriksa waktu kedaluwarsa, audiens dan penerbitnya.
Amankah menempel token di sini?
Halaman ini tidak mengirim token ke mana pun: token di-decode oleh kode yang berjalan di browser Anda dan tidak disimpan. Meski begitu, access token yang masih aktif sama dengan password selama masa berlakunya. Hindari menempel token production ke situs web mana pun, dan sebaiknya gunakan token yang sudah kedaluwarsa atau token uji saat debugging.
Mengapa ada token yang tidak bisa saya baca?
Token dengan lima bagian, bukan tiga, adalah JWT terenkripsi (JWE). Header-nya bisa dibaca, tetapi payload-nya terenkripsi dan hanya bisa dibaca dengan kunci penerima, jadi alat ini menampilkan header dan menjelaskan bagian-bagiannya. Kesalahan lain, seperti jumlah bagian yang salah atau teks yang bukan Base64url atau JSON yang valid, dilaporkan beserta penyebabnya.
Bagaimana waktu-waktunya dihitung?
Claim exp, nbf dan iat adalah NumericDate: jumlah detik sejak 1 Januari 1970 UTC. Waktu itu ditampilkan dalam zona waktu perangkat Anda dan dalam UTC, lalu dibandingkan dengan jam perangkat Anda untuk menentukan apakah token sudah kedaluwarsa. Jika jam Anda salah, waktu relatifnya juga akan salah. Nilai yang tampak seperti milidetik akan ditandai, karena itu bug yang sering terjadi.
Apa arti alg, typ dan kid?
alg adalah algoritma tanda tangan, seperti HS256 (rahasia bersama), RS256 atau ES256 (pasangan kunci). typ biasanya JWT. kid adalah ID kunci yang dipakai penerbit, yang memberi tahu pemverifikasi kunci mana yang harus dipakai untuk memeriksa tanda tangan. Token dengan alg bernilai none tidak bertanda tangan dan tidak boleh diterima untuk hal apa pun yang penting.