Nyahkod Pengepala
JSONSelepas menampal JWT, kandungan yang dihuraikan akan dipaparkan di sini.
Periksa pengepala dan muatan Token Web JSON. Alat ini tidak mengesahkan tandatangan dan pemprosesan kekal dalam penyemak imbas anda.
Tampalkan JWT di bawah untuk menyahkod, memeriksa dan mengesahkan serta-merta.
Menunggu input JSON Web Token.
Selepas menampal JWT, kandungan yang dihuraikan akan dipaparkan di sini.
Selepas menampal JWT, kandungan yang dihuraikan akan dipaparkan di sini.
Tandatangan akan dipaparkan di sini selepas penyahkodan.
Masukkan rahsia untuk digunakan semasa mengeluarkan JWT. Pengesahan HS256 dilakukan secara asli dalam penyemak imbas anda.
Edit Pengepala dan Muatan JSON dan gunakan tandatangan HS256.
Bersedia untuk menjana JWT.
Set token ini sesuai untuk ujian tempatan dan penyahpepijatan pembangunan.
JWT ialah format token yang biasa digunakan untuk log masuk, pengesahan API dan kebenaran antara perkhidmatan. Ia terdiri daripada tiga bahagian: Pengepala, Muatan dan Tandatangan.
Kandungan muatan boleh dinyahkod dan dibaca, dan maklumat sensitif tidak boleh diletakkan dalam tuntutan JWT.
Halaman ini menyokong pengesahan dan penjanaan tandatangan HS256, menjadikannya mudah untuk menyemak sama ada token persekitaran ujian dicipta dengan rahsia yang sama.
Semua penyahkodan, pengekodan dan pengesahan tandatangan JWT dilakukan secara asli dalam penyemak imbas.
ASAS ILMU SEO JWT
Jika anda mencari "Penyahkod JWT", "Penyahkod JWT", "Penghuraian Token Web JSON", "Sahkan JWT" atau "Pengekod JWT", ini biasanya bermakna anda sudah mempunyai token dan perlu memahami dengan cepat Pengepala, Muatan, masa tamat tempoh, algoritma tandatangan dan tuntutannya. Halaman ini bukan sahaja menyediakan alat penyahkod JWT dalam talian, tetapi juga mengatur pengetahuan asas JWT yang sering ditanya oleh pembangun.
JWT ialah singkatan JSON Web Token. Ia ialah format token yang menggunakan JSON untuk mewakili maklumat dan kemudian menukarnya kepada rentetan yang dipermudahkan. Ia sering digunakan dalam tapak web pemisah bahagian hadapan dan belakang, API Aplikasi, log masuk ahli, SSO log masuk tunggal, kebenaran perkhidmatan mikro dan pertukaran data antara perkhidmatan.
Penyahkodan JWT tidak memerlukan kata laluan kerana Pengepala dan Muatan hanya dikodkan Base64URL, tidak disulitkan. Sesiapa sahaja yang mendapat token boleh menggunakan Penyahkod JWT untuk melihat kandungan muatan, jadi tuntutan tidak boleh mengandungi kata laluan, kunci API atau maklumat peribadi yang sensitif.
Kes penggunaan yang paling biasa ialah kebenaran. Selepas pengguna berjaya log masuk, pelayan kebenaran mengeluarkan JWT. Apabila bahagian hadapan atau apl kemudiannya memanggil API, token diletakkan dalam pengepala Kebenaran HTTP, seperti Kebenaran: Pembawa .
JWT juga biasa digunakan untuk pertukaran maklumat. Apabila dua sistem perlu menukar data yang boleh disahkan, tandatangan membenarkan penerima untuk mengesahkan bahawa data tidak diubah semasa penghantaran. Titik akhir JWKS biasanya digunakan dalam sistem besar untuk mendedahkan kunci awam supaya perkhidmatan yang berbeza boleh mengesahkan sumber token.
JWT standard biasanya terdiri daripada tiga rentetan Base64URL yang dipisahkan tempoh: Header.Payload.Signature. Bahagian pertama Pengepala menerangkan jenis token dan algoritma tandatangan, bahagian kedua Muatan mengandungi tuntutan, dan bahagian ketiga Tandatangan digunakan untuk mengesahkan integriti.
Tuntutan berdaftar biasa termasuk iss, sub, aud, exp, exp data-i18n="auto.011">nbf, iat dan jti. Pengesahan API yang baik biasanya akan menyemak sekurang-kurangnya exp, iss dan aud.
Proses biasa ialah: pengguna log masuk, membenarkan pelayan untuk mengesahkan kata laluan akaun atau hasil log masuk pihak ketiga, dan kemudian mengeluarkan token akses; bahagian hadapan melampirkan token akses kepada permintaan API; API bahagian belakang mengesahkan token dan mengembalikan data yang dilindungi.
JWT bukanlah penggantian sesi universal. Sebaik sahaja token dikeluarkan, ia biasanya boleh disahkan tanpa menyemak pangkalan data sebelum tamat tempoh. Walau bagaimanapun, pembatalan token, perubahan kebenaran segera dan pemprosesan log keluar masih perlu direka bentuk.
Pengesahan JWT biasanya merujuk kepada menyemak sama ada token memenuhi peraturan yang dijangkakan, seperti sama ada ia mempunyai tiga segmen, sama ada ia boleh dinyahkod, sama ada JSON sah, sama ada ia telah tamat tempoh, sama ada pengeluar adalah betul dan sama ada khalayak mematuhi API semasa.
Pengesahan JWT akan menggunakan algoritma dan kunci yang ditentukan untuk mengira semula tandatangan, dan kemudian membandingkannya dengan tandatangan ketiga token. Mampu memahami muatan tidak bermakna token itu boleh dipercayai; API rasmi mesti menjalani pengesahan meterai dan pengesahan tuntutan.
JWT Decode menukarkan perenggan pertama dan kedua token kembali kepada JSON, membolehkan anda membaca Pengepala dan Muatan. Pengekodan JWT ialah proses terbalik: sediakan Pengepala JSON dan Muatan JSON, hasilkan Tandatangan, dan akhirnya menggabungkannya menjadi token yang lengkap.
Jika anda hanya mahu melihat kandungan muatan, anda tidak memerlukan rahsia; jika anda ingin mengesahkan sama ada token itu benar-benar dikeluarkan oleh sistem anda, anda mesti menggunakan rahsia atau kunci awam yang betul untuk mengesahkan Tandatangan. Pada masa ini halaman ini menyokong HS256.
Apabila menggunakan penyahkodan JWT dalam talian, anda juga harus menyemak siapa yang mengeluarkan token, sistem yang mana ia dikeluarkan, bila ia berkuat kuasa, bila ia tamat tempoh dan sama ada skop kebenaran memenuhi keperluan API. Jadual berikut meringkaskan tuntutan JWT biasa.
| Tuntutan | maksud Cina | Perkara yang perlu diperiksa semasa menyahpepijat |
|---|---|---|
iss | Pengeluar, penerbit | Sama ada pelayan kebenaran anda atau pembekal identiti yang dipercayai. |
sub | Subjek, pengguna atau ID utama | Sama ada ia sepadan dengan pengguna, ahli, akaun perkhidmatan atau peranti yang betul. |
aud | Penonton, penonton token | Sama ada untuk menghantarnya ke API semasa; kesilapan penonton sering menyebabkan 401. |
exp | Masa tamat tempoh, masa tamat tempoh | Sama ada ia telah tamat tempoh; perhatikan perbezaan dalam paparan cap waktu Unix dan zon masa. |
nbf | Bukan sebelum ini, masa berkesan | Sama ada masa yang boleh digunakan masih belum sampai; sisihan masa pelayan juga akan menjejaskannya. |
iat | Dikeluarkan pada, masa keluaran | Adakah ia sepadan dengan masa sebenar log masuk atau muat semula token. |
jti | ID JWT, ID unik token | Sama ada ia boleh digunakan untuk senarai pembatalan, log audit atau perlindungan serangan semula. |
skop | Skop kuasa | Sama ada kebenaran baca, tulis, pentadbir dan lain-lain kebenaran yang diperlukan oleh API wujud. |
alg dalam Pengepala JWT akan memberitahu pengesah algoritma yang harus digunakan. HS256 ialah HMAC SHA-256, dan kedua-dua pengeluaran dan pengesahan menggunakan set rahsia yang sama; RS256 menggunakan tandatangan kunci persendirian RSA dan pengesahan kunci awam; ES256 menggunakan algoritma lengkung eliptik.
Bahagian belakang hendaklah menyatakan dengan jelas senarai algoritma yang dibenarkan untuk menghalang penyerang daripada menjejaskan proses pengesahan dengan mengubah suai pengepala. Jika JWT datang daripada pembekal identiti, biasanya dapatkan JWKS atau kunci awam dan semak kid, iss, aud, ,
Masalah yang paling biasa dihadapi semasa menggunakan Penyahkod JWT ialah token tidak dalam format tiga segmen standard, rentetan Base64URL disalin tidak lengkap, terdapat ruang putih sebelum dan selepas, muatan bukan JSON yang sah, atau rahsia tandatangan digunakan secara tidak betul. Jika API mengembalikan 401 atau 403, adalah disyorkan untuk menyahkod JWT dahulu dan mengesahkan exp, aud dan skop.
header.payload.signature.Pembawa.exp telah tamat tempoh dan sama ada masa pelayan disegerakkan.iss dan aud konsisten dengan persekitaran semasa.kanak-kanak.Sesi biasanya menyimpan keadaan dalam pelayan atau storan berpusat, dan penyemak imbas hanya menyimpan id sesi; JWT meletakkan sebahagian daripada keadaan dalam token, supaya API boleh menggunakan tandatangan untuk mengesahkan integriti. SAML adalah berasaskan XML dan biasanya digunakan dalam SSO perusahaan.
| Rancang | Sesuai dengan keadaan | Perkara yang perlu diperhatikan |
|---|---|---|
| JWT | Keizinan API, token akses SSO, perkhidmatan mikro | Ia adalah perlu untuk mengawal masa tamat tempoh, pengesahan meterai, pembatalan dan kebocoran maklumat sensitif. |
| Sesi | Laman web tradisional yang memerlukan log keluar segera atau kawalan status berpusat | Kedai sesi sebelah pelayan diperlukan dan pengembangan silang perkhidmatan memerlukan reka bentuk tambahan. |
| SAML | Penyepaduan identiti perusahaan, sistem SSO warisan | Struktur XML lebih besar dan tandatangan dan tetapan biasanya lebih kompleks. |
exp yang munasabah dan jangan jadikan token akses itu sah untuk jangka masa yang lama.alg Pengepala secara membabi buta.iss, aud, nbf, iatAlat penyahkodan JWT dalam talian ini menggunakan pemprosesan asli penyemak imbas: token, rahsia, JSON Pengepala dan JSON Muatan yang anda tampal tidak akan dimuat naik ke pelayan ToolBoy. Walaupun begitu, prinsip pendedahan minimum masih harus diikuti apabila berurusan dengan token pengeluaran sebenar.
JWT sering muncul dalam proses penyahpepijatan API bersama-sama dengan JSON, Base64URL, pertanyaan URL, cap waktu, SHA-256, UUID, regex dan format data lain. Anda boleh menggunakan alat pemformatan JSON ToolBoy, Pengekodan dan penyahkodan Base64, . penukaran atau penjana UUID.
Untuk bacaan lanjut, sila rujuk Pengenalan Token Web JSON jwt.io dan