header.payload.signature
Penyahkod JWT
JSON Web Token (JWT) ialah 3 bahagian Base64url yang dipisahkan titik: pengepala, muatan dan tandatangan. Tampal token untuk membaca tuntutan dan masanya; ia dinyahkod di sini, tidak disahkan.
- iat 1700000000 = 2023-11-14 22:13:20 UTC
- exp 1700003600 = 2023-11-14 23:13:20 UTC
- HS256 = 32 B
Token kekal dalam tab ini dan tidak dihantar ke mana-mana. Token yang dinyahkod bukan token yang dipercayai: tandatangan tidak pernah disemak di sini.
Scanned by NortonTM Safe Web
Sepintas lalu
- Harga
- Tiada caj
- Akaun
- Tidak diperlukan
- Piawaian
- RFC 7519 (JWT), RFC 7515 (JWS), RFC 7516 (JWE)
- Tandatangan
- Tidak disahkan — token hanya dinyahkod
- Masa
- exp, nbf dan iat ditunjukkan dalam UTC dan dibandingkan dengan jam anda
- Muat naik
- Tiada — token kekal dalam tab pelayar anda
Token sampel dan algoritma lazim
Token sampel pada halaman ini ditandatangani dengan HMAC-SHA-256 menggunakan kunci sekali pakai. Halaman menyahkodnya untuk menghasilkan jadual pertama.
| Tuntutan | Nilai | Masa (UTC) |
|---|---|---|
| iss | auth.example.com | — |
| sub | user-42 | — |
| aud | api | — |
| iat | 1700000000 | 2023-11-14 22:13:20 UTC |
| exp | 1700003600 | 2023-11-14 23:13:20 UTC |
| alg | Keluarga | Hash | Saiz tandatangan |
|---|---|---|---|
| HS256 | HMAC | SHA-256 | 32 B |
| HS512 | HMAC | SHA-512 | 64 B |
| RS256 | RSASSA-PKCS1-v1_5 | SHA-256 | 256 B (2048-bit key) |
| ES256 | ECDSA P-256 | SHA-256 | 64 B |
| ES512 | ECDSA P-521 | SHA-512 | 132 B |
| EdDSA | EdDSA | — | 64 B (Ed25519) |
Cara menyahkod JWT
Tampal token
Tampal keseluruhan token, dengan atau tanpa Bearer di hadapan. Ia ada 3 bahagian yang dipisahkan titik, atau 5 jika ia JWE yang disulitkan.
Baca bahagiannya
Pengepala dan muatan muncul sebagai JSON yang diformat, dan setiap tuntutan disenaraikan dalam jadual. Masa exp, nbf dan iat ditunjukkan dalam UTC.
Semak masanya
Halaman membandingkan exp dan nbf dengan jam peranti anda dan menyatakan sama ada token telah tamat tempoh. Ia tidak menyatakan sama ada token itu tulen.
Cara JWT dibina
JWT (RFC 7519) ditulis sebagai header.payload.signature. Pengepala dan muatan ialah objek JSON, masing-masing dikodkan sebagai Base64url tanpa padding (RFC 4648, seksyen 5), dan tandatangan ialah bait mentah dalam pengekodan yang sama. Penyahkodan hanya mengubah pengekodan, jadi sesiapa yang memegang token boleh membaca muatannya: jangan letakkan rahsia di dalamnya. Pengepala menamakan algoritma penandatanganan dalam alg, seperti HS256 (HMAC dengan SHA-256, tandatangan 32 bait) atau RS256 (RSA dengan SHA-256, 256 bait bagi kunci 2048-bit).
Halaman ini menyahkod token dan tidak melakukan apa-apa lagi. Ia tidak menyemak tandatangan, kerana itu memerlukan kunci, dan ia tidak dapat memberitahu anda sama ada token itu tulen, dibatalkan atau diterima oleh pelayan. Ia membandingkan tuntutan exp, nbf dan iat, yang mengira saat sejak 1970-01-01 UTC, dengan jam peranti anda dan mencetaknya sebagai tarikh-masa UTC. Token dengan 5 bahagian ialah JWE: kandungannya disulitkan, jadi hanya pengepalanya boleh ditunjukkan.
Soalan JWT
Bagaimana saya menyahkod JWT?
Tampal token ke dalam kotak. Halaman memecahkannya pada titik, menukar dua bahagian pertama daripada Base64url dan menunjukkannya sebagai JSON. Bearer di hadapan diabaikan. Bagi token sampel, pengepalanya ialah {"alg":"HS256","typ":"JWT"}.
Adakah halaman ini mengesahkan tandatangan?
Tidak. Pengesahan memerlukan rahsia atau kunci awam, dan halaman ini tidak pernah memintanya. Token yang dinyahkod di sini masih boleh dipalsukan, diubah atau dibatalkan. Sahkan tandatangan dalam kod pelayan anda sendiri dengan pustaka JWT yang diselenggara.
Apakah maksud exp, iat dan nbf?
Ia ialah masa dalam saat sejak 1970-01-01 UTC (RFC 7519). exp ialah masa token tamat tempoh, nbf ialah masa sebelum ia tidak boleh diterima, dan iat ialah masa ia dikeluarkan. Dalam token sampel, iat 1700000000 ialah 2023-11-14 22:13:20 UTC dan exp 1700003600 ialah satu jam kemudian.
Adakah selamat menampal token sebenar di sini?
Token kekal dalam tab pelayar anda dan tidak dihantar ke mana-mana. Namun, token yang aktif ialah kelayakan: sesiapa yang memegangnya boleh menggunakannya sehingga ia tamat tempoh. Tampal token yang anda miliki, dan pilih token yang telah tamat tempoh atau token ujian apabila boleh.
Mengapa token saya ada 5 bahagian?
Token dengan 5 bahagian ialah JWE, JSON Web Token yang disulitkan (RFC 7516). Muatannya disulitkan untuk penerima, jadi halaman ini hanya menunjukkan pengepala dan saiz bahagiannya. Kandungannya tidak dapat dibaca di sini.
Apakah maksud "not Base64url" atau "not JSON"?
Setiap satu daripada dua bahagian pertama mestilah teks Base64url yang dinyahkod kepada objek JSON. Halaman menamakan bahagian yang gagal dan sebabnya: aksara di luar abjad, bait yang bukan UTF-8, atau JSON dengan ralat pada baris dan lajur tertentu. Token yang terpotong atau ada aksara tambahan ialah punca lazim.