Alat Pembangun
Penyahpepijat dalam talian Token Web JSON

Penyahkodan JWT dalam talian

Periksa pengepala dan muatan Token Web JSON. Alat ini tidak mengesahkan tandatangan dan pemprosesan kekal dalam penyemak imbas anda.

Input Token JWT

Tampalkan JWT di bawah untuk menyahkod, memeriksa dan mengesahkan serta-merta.

Menunggu input JSON Web Token.

Nyahkod Pengepala

JSON
Selepas menampal JWT, kandungan yang dihuraikan akan dipaparkan di sini.

Nyahkod Muatan

Tuntutan
Selepas menampal JWT, kandungan yang dihuraikan akan dipaparkan di sini.

Pengesahan tandatangan JWT

Pilih
Tandatangan akan dipaparkan di sini selepas penyahkodan.

Masukkan rahsia untuk digunakan semasa mengeluarkan JWT. Pengesahan HS256 dilakukan secara asli dalam penyemak imbas anda.

JWT

Bagaimana untuk menggunakan penyahkodan JWT dalam talian?

  1. Tampalkan token JWT yang lengkap.
  2. Tekan "Nyahkod JWT" untuk menghuraikan Pengepala, Muatan dan Tandatangan.
  3. Apabila anda perlu mengesahkan tandatangan, masukkan rahsia dan kemudian gunakan "Sahkan Tandatangan".
JSON

Apakah Token Web JSON?

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.

HS

JWT Sahkan dan keselamatan

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

Panduan lengkap untuk penyahkodan JWT dalam talian: Apakah Token Web JSON, cara mengesahkannya dan cara menggunakannya dengan selamat

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.

Apa itu JWT?

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.

Bila hendak menggunakan JWT?

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.

Struktur tiga bahagian JWT: Pengepala, Muatan, Tandatangan

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.

Bagaimanakah JWT berfungsi dalam log masuk dan API?

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.

Apakah perbezaan antara Pengesahan JWT dan Pengesahan JWT?

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.

Apakah perbezaan antara JWT Decode dan JWT Encode?

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.

Perbandingan Tuntutan JWT: Medan manakah yang harus saya lihat selepas penyahkodan?

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.

Tuntutanmaksud CinaPerkara yang perlu diperiksa semasa menyahpepijat
issPengeluar, penerbitSama ada pelayan kebenaran anda atau pembekal identiti yang dipercayai.
subSubjek, pengguna atau ID utamaSama ada ia sepadan dengan pengguna, ahli, akaun perkhidmatan atau peranti yang betul.
audPenonton, penonton tokenSama ada untuk menghantarnya ke API semasa; kesilapan penonton sering menyebabkan 401.
expMasa tamat tempoh, masa tamat tempohSama ada ia telah tamat tempoh; perhatikan perbezaan dalam paparan cap waktu Unix dan zon masa.
nbfBukan sebelum ini, masa berkesanSama ada masa yang boleh digunakan masih belum sampai; sisihan masa pelayan juga akan menjejaskannya.
iatDikeluarkan pada, masa keluaranAdakah ia sepadan dengan masa sebenar log masuk atau muat semula token.
jtiID JWT, ID unik tokenSama ada ia boleh digunakan untuk senarai pembatalan, log audit atau perlindungan serangan semula.
skopSkop kuasaSama ada kebenaran baca, tulis, pentadbir dan lain-lain kebenaran yang diperlukan oleh API wujud.

Bagaimana untuk memilih antara HS256, RS256 dan ES256?

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, ,

Ralat JWT biasa dan kaedah penyelesaian masalah

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.

Senarai semak penyahpepijatan JWT
  • Sama ada Token berada dalam format tiga segmen header.payload.signature.
  • Sama ada pengepala Kebenaran menggunakan skema Pembawa.
  • Sama ada exp telah tamat tempoh dan sama ada masa pelayan disegerakkan.
  • Sama ada iss dan aud konsisten dengan persekitaran semasa.
  • Sama ada rahsia HS256 konsisten sepenuhnya dengan penghujung pengeluaran.
  • Sama ada RS256 / ES256 menggunakan kunci awam yang betul dan kanak-kanak.
  • Sama ada tuntutan kebenaran mengandungi skop atau peranan yang diperlukan oleh API.

Apakah perbezaan antara JWT, Sesi dan SAML?

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.

RancangSesuai dengan keadaanPerkara yang perlu diperhatikan
JWTKeizinan API, token akses SSO, perkhidmatan mikroIa adalah perlu untuk mengawal masa tamat tempoh, pengesahan meterai, pembatalan dan kebocoran maklumat sensitif.
SesiLaman web tradisional yang memerlukan log keluar segera atau kawalan status berpusatKedai sesi sebelah pelayan diperlukan dan pengembangan silang perkhidmatan memerlukan reka bentuk tambahan.
SAMLPenyepaduan identiti perusahaan, sistem SSO warisanStruktur XML lebih besar dan tandatangan dan tetapan biasanya lebih kompleks.

Nasihat keselamatan JWT: SEO topi putih juga harus menulis risiko dengan jelas

  • Jangan letakkan kata laluan, kunci peribadi, kunci API, maklumat pembayaran atau maklumat peribadi sensitif dalam Pengepala atau Muatan JWT.
  • Tetapkan exp yang munasabah dan jangan jadikan token akses itu sah untuk jangka masa yang lama.
  • Algoritma yang dibenarkan mesti dibetulkan semasa pengesahan bahagian belakang dan jangan mempercayai alg Pengepala secara membabi buta.
  • Gunakan rahsia HS256 yang cukup panjang dan rawak; jangan gunakan rahsia contoh dalam persekitaran pengeluaran.
  • Semak iss, aud, nbf, iat
  • Elakkan memasukkan senarai kebenaran yang terlalu besar ke dalam JWT untuk mengelakkan pengepala terlalu besar atau menyebabkan kebocoran data.
  • Token storan bahagian hadapan perlu menilai XSS, CSRF, atribut kuki dan risiko storan penyemak imbas.

Alat 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 RFC 7519. Kandungan halaman ini telah disusun semula dan ditulis semula dalam bahasa Cina, memfokuskan pada penyahpepijatan praktikal, SEO topi putih dan privasi asli.

Soalan Lazim penyahkodan JWT dalam talian

Adakah penyahkodan JWT dalam talian akan mengesahkan tandatangan?
Menyahkod Pengepala dan Muatan tidak setara dengan mengesahkan tandatangan; untuk mengesahkan sama ada token telah diganggu, sila masukkan rahsia yang sama dan laksanakan Verify.
Bolehkah JWT Payload mengandungi kata laluan atau kunci?
Tidak disyorkan. Secara amnya, JWT hanya dikodkan Base64URL, dan sesiapa sahaja yang memperoleh token boleh membaca muatan.
Adakah pengekod JWT sesuai untuk mengeluarkan token secara rasmi?
Alat ini sesuai untuk pembangunan, ujian dan penyahpepijatan. Persekitaran formal harus mempunyai token isu perkhidmatan bahagian belakang dan mengurus rahsia atau kunci peribadi dengan betul.