Langkau ke kandungan
ToolMug

Penyahkod JWT

Tampal JSON Web Token untuk melihat pengepala dan muatannya, semak sama ada ia sudah tamat tempoh, dan sahkan tandatangan dengan rahsia atau kunci awam. Semuanya berjalan secara setempat, jadi token produksi tidak pernah dihantar ke pelayan.

Berjalan dalam pelayar anda — apa yang anda masukkan tidak dimuat naik

Penyahkodan tidak mengesahkan tandatangan. Sesiapa sahaja boleh mencipta token dengan sebarang tuntutan.

Cara menggunakan

  1. Tampal token — dengan atau tanpa awalan "Bearer ". Ketiga-tiga bahagian diberi kod warna.
  2. Baca pengepala dan muatan yang telah dinyahkod. Tuntutan iat, nbf dan exp ditunjukkan sebagai tarikh bersama masa relatif.
  3. Untuk mengesahkan tandatangan, masukkan rahsia kongsi bagi HS256/384/512, atau tampal kunci awam (PEM atau JWK) bagi token RS, PS, ES dan EdDSA.
  4. Salin JSON yang dinyahkod jika anda memerlukannya di tempat lain.

Penerangan pilihan

Pengepala
Metadata tentang token, biasanya alg (algoritma tandatangan) dan typ. Medan kid memberitahu kunci mana yang menandatanganinya.
Muatan
Tuntutan. Tuntutan berdaftar termasuk sub (subjek), iss (pengeluar), aud (penerima), iat (dikeluarkan pada), nbf (tidak sah sebelum) dan exp (tamat tempoh), semua masa dalam saat Unix.
Tandatangan
Membuktikan pengepala dan muatan tidak diubah. Menyemaknya memerlukan rahsia (HMAC) atau kunci awam pengeluar (RSA, ECDSA, EdDSA).
Rahsia dikodkan Base64
Sesetengah perkhidmatan menyimpan rahsia HMAC dalam bentuk kod Base64. Tandakan ini jika rahsia yang anda ada ialah bentuk yang dikodkan.

Tuntutan biasa

Tuntutan Maksud Contoh
sub Siapa yang diwakili token (ID pengguna) "1234567890"
iss Siapa yang mengeluarkannya "https://accounts.example.com"
aud Untuk siapa token ditujukan "my-api"
exp Masa tamat tempoh, saat Unix 1790427600
iat Dikeluarkan pada, saat Unix 1790424000
nbf Tidak sah sebelum, saat Unix 1790424000
jti ID token unik, digunakan untuk mencegah main semula (replay) "a1b2c3"

Contoh

Token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c dinyahkod kepada pengepala {"alg":"HS256","typ":"JWT"} dan muatan dengan sub, name dan iat (18 Januari 2018). Dengan rahsia your-256-bit-secret, tandatangan berjaya disahkan.

Soalan lazim

Selamatkah menampal JWT produksi di sini?

Token dinyahkod oleh JavaScript dalam pelayar anda dan tidak dimuat naik atau direkodkan. Namun, layan token akses seperti kata laluan — sesiapa yang memegang token yang sah boleh menggunakannya sehingga tamat tempoh.

Adakah menyahkod JWT membuktikan ia tulen?

Tidak. Pengepala dan muatan hanya dikodkan Base64URL, jadi sesiapa pun boleh membaca atau memalsukannya. Hanya semakan tandatangan yang berjaya dengan kunci yang betul menunjukkan token dikeluarkan oleh pihak yang dijangka.

Mengapa pengesahan gagal walaupun rahsianya betul?

Semak sama ada rahsia dikodkan Base64, sama ada terdapat ruang atau baris baharu di hujung, dan algoritma dalam pengepala sepadan dengan yang digunakan oleh pengeluar. Sebarang perubahan pada token, walaupun satu aksara, juga merosakkan tandatangan.

Apakah maksud "alg none"?

Token itu mendakwa ia tidak ditandatangani. Pelayan mesti menolak token sebegini melainkan ia memang menjangkakannya; menerimanya pernah menyebabkan pintasan pengesahan sebenar.

Bagaimanakah cara mendapatkan kunci awam untuk token RS256?

Penyedia identiti menerbitkan kunci mereka sebagai JWKS, biasanya di /.well-known/jwks.json. Salin kunci yang kid-nya sepadan dengan pengepala token dan tampalkan di sini sebagai JWK.

Privasi

Alat ini berjalan sepenuhnya dalam pelayar anda. Fail dan teks anda diproses pada peranti anda dan tidak pernah dimuat naik ke pelayan kami.

Alat berkaitan