Bahasa Melayu

Alat pembangun · JWT penyahkod

Menyahpepijat 401: Perkara yang Perlu Didaftar dalam JWT Sebelum Menyalahkan API

· Mengapa ia penting

jwt penyahpepijatan pengesahan

JWT yang ditolak melalui senarai semak penyahpepijatan berstruktur
Ilustrasi vektor ToolAcre asal

Kebanyakan penolakan token berpunca daripada beberapa masalah tuntutan yang anda boleh lihat dengan membaca muatan. Siaran ini memberikan senarai semak, daripada tamat tempoh kepada khalayak untuk menyalin-tampal ralat, untuk menyemaknya.

Ia berfungsi semalam — 401 yang muncul tanpa perubahan kod

401 yang muncul tanpa perubahan kod pelanggan boleh berasal dari umur token, dasar pengeluar, putaran kunci, pemilihan khalayak atau salinan yang rosak. Mulakan dengan bukti dan bukannya menganggap API telah gagal. Kekalkan butiran respons dan pengecam korelasi sebelum memanipulasi bukti kelayakan.

Nyahkod sahaja salinan yang telah tamat tempoh, sintetik atau terkawal dengan sewajarnya. ToolAcre boleh mendedahkan petunjuk struktur dan tuntutan, tetapi ia tidak dapat mengenal pasti setiap penolakan pelayan kerana ia tidak mempunyai kunci, dasar pengeluar atau log API. Senarai semak menyempitkan soalan; ia tidak menggantikan keputusan pelayan sumber.

Salin ralat dahulu — awalan 'Pembawa', mengekori baris baharu dan token terpotong

Semak nilai yang disalin dahulu. ToolAcre memangkas ruang kosong di sekeliling dan mengalih keluar satu awalan `Bearer ` yang tidak sensitif huruf besar-besaran, yang mengendalikan tampalan pengepala Kebenaran biasa. Ia kemudian memerlukan tepat tiga segmen yang dipisahkan titik. Kiraan yang salah menunjukkan ke arah pemotongan, bentuk token yang salah atau tanda baca tambahan sebelum analisis tuntutan bermula.

Pengepala kosong atau muatan gagal secara khusus. base64url tidak sah, UTF-8 tidak sah dan JSON tidak sah mempunyai ralat berasingan. Perbezaan tersebut membantu menentukan sama ada pengangkutan merosakkan token. Tandatangan mungkin cacat tanpa menyekat pemeriksaan, tetapi amaran itu kekal sebagai kemungkinan kegagalan pengesahan yang memerlukan pengesahan bahagian pelayan.

exp dan nbf: memeriksa nilai berasaskan saat tanpa menukar paparan menjadi keputusan kesahihan

Periksa nilai `exp` dan `nbf` angka seterusnya. ToolAcre mendarab saat dengan 1,000, menunjukkan UTC dan melabelkan tamat tempoh lebih awal atau masa hadapan bukan sebelum berbanding dengan jam pelayar. Nilai tiga belas digit mungkin mendedahkan milisaat ditulis di tempat yang dijangkakan.

Jangan promosikan label ini kepada penguatkuasaan. Token palsu boleh menuntut tamat masa hadapan, dan pelayan mungkin menggunakan dasar jam atau kelonggaran yang berbeza. Paparan mengenal pasti nilai aritmetik dibandingkan dengan log yang dipercayai; pengesahan kriptografi mesti berjaya sebelum tuntutan boleh mempengaruhi penerimaan.

aud dan iss — adakah token ini untuk API ini, daripada pengeluar yang dipercayai API ini?

`aud` hendaklah mengenal pasti penerima yang dimaksudkan di bawah dasar API, manakala `iss` hendaklah sepadan dengan perhubungan pengeluar yang dipercayai. ToolAcre menyenaraikan kedua-duanya sebagai nilai yang dinyahkod dan menerangkan maksud berdaftarnya. Ia tidak membandingkannya dengan konfigurasi API atau mengikat rentetan pengeluar pada set kunci.

Pengeluar yang munasabah URL dan nama khalayak boleh dibuat-buat. Bandingkan nilai yang dinyahkod tepat dengan jangkaan yang dikonfigurasikan pelayan sahaja selepas mengekalkan sempadan pengesahan tandatangan. Jika beberapa perkhidmatan berkongsi infrastruktur identiti, semakan khalayak amat penting untuk mengelakkan token yang sah untuk satu perkhidmatan digunakan pada perkhidmatan yang lain.

Jenis token mungkin dicadangkan oleh pengepala dan tuntutan, tetapi penyahkodan tidak dapat mengesahkan klasifikasi tersebut

Token ID dan token akses boleh kelihatan seperti JWT tiga bahagian. Pengepala `typ`, khalayak, skop dan tuntutan khusus profil mungkin mencadangkan yang mana satu yang anda pegang. ToolAcre memberi amaran tentang rentetan yang tidak dijangka `typ`, tetapi ia tidak melaksanakan klasifikasi token OpenID Connect atau OAuth.

Gunakan dokumentasi penerbit dan aliran pelanggan untuk mewujudkan jenis token yang diharapkan. Menghantar token ID kepada API boleh gagal walaupun tandatangannya sah untuk pembekal identiti. Penyahkodan menyokong diagnosis; ia tidak boleh mengesahkan label jenis atau memberikan kuasa API.

kanak selepas putaran kunci — token sah yang merujuk kepada kunci yang tidak ada pada pelayan

Selepas putaran kekunci, pengepala `kid` boleh merujuk kepada kunci yang tidak terdapat dalam set dipercayai semasa pelayan. Baca pengecam, kemudian periksa cache dan log set kunci pada pengesah. Jangan ambil URL yang disediakan pengepala atau terima bahan utama terbenam sebagai penyelesaian pantas.

Token yang ditandatangani dengan betul mungkin masih gagal jika pengesah tidak dapat mengesan kunci yang dibenarkan, manakala penyerang boleh menulis sebarang `kid` ke dalam pengepala yang tidak disahkan. Nilai adalah petunjuk carian yang dikekang oleh konfigurasi pengeluar yang dipercayai, bukan bukti bahawa kunci tertentu harus dipercayai.

Contoh yang berkesan — menjalankan token yang ditolak melalui senarai semak dalam penyahkod ToolAcre JWT

Untuk triage yang berjaya, ambil token terkawal yang ditolak, sahkan tiga segmen, periksa ralat, kemudian rekod `exp`, `nbf`, `aud`, `iss`, `typ` dan `kid` tanpa menyuntingnya. Bandingkan setiap medan dengan sasaran permintaan API dan konfigurasi dipercayai pengesah. Pastikan log pelayan terbuka untuk kategori kegagalan sebenar.

Jika semua nilai yang boleh dilihat kelihatan seperti dijangka, jangan simpulkan bahawa API adalah salah. Rasuah tandatangan, bahan utama yang salah, keadaan yang dibatalkan atau dasar yang tidak ditunjukkan masih boleh menjelaskan 401. `signatureVerified` ToolAcre kekal palsu tidak kira betapa kemasnya JSON kelihatan.

Perkara yang tidak dicakupi ini dan pengambilan - penyahkod tidak boleh memberitahu anda sama ada tandatangan itu sah; senarai semak menemui masalah tuntutan, dan kegagalan tandatangan memerlukan log pelayan

Penyahkod tidak boleh memberitahu anda sama ada tandatangan itu sah. Senarai semak tuntutannya menemui masalah salinan dan muatan yang boleh dilihat tanpa kunci; kegagalan tandatangan dan keputusan dasar yang berwibawa memerlukan bukti pelayan. Anggap penyahkod sebagai satu pemerhatian diagnostik antara beberapa.

Laluan dipercayai terpantas dipesan: kekalkan konteks tindak balas, periksa bentuk token, bandingkan unit masa, kemudian bandingkan pengeluar, khalayak, jenis dan pengecam kunci dengan konfigurasi yang dipercayai. Hentikan kepercayaan sehingga pengesah sebenar mengesahkan kriptografi dan dasar.