Alat pembangun · JWT penyahkod
Tujuh Berdaftar JWT Tuntutan: iss, sub, aud, exp, nbf, iat dan jti
· Latar belakang
jwt format data pengesahan
RFC 7519 menyimpan tujuh nama tuntutan dengan maksud dan jenis yang ditentukan. Siaran ini menerangkan setiap satu, jenis StringOrURI dan NumericDate di belakangnya, dan cara tuntutan berdaftar, awam dan peribadi wujud bersama.
Nama tuntutan manakah yang harus saya gunakan? — soalan reka bentuk yang dijawab oleh pendaftaran
Memilih nama tuntutan sebahagiannya merupakan keputusan saling kendali. Menggunakan semula nama berdaftar memberikan pembaca dan perpustakaan makna yang mantap, manakala nama khusus aplikasi memerlukan dokumentasi setempat. ToolAcre mengenali tujuh nama teras dalam jadual penerangannya dan membiarkan tuntutan lain kelihatan tanpa memberikan semantik.
Nama biasa tidak boleh dipercayai secara automatik. Penyahkod membaca apa sahaja objek yang mengandungi token dan tidak sekali-kali mengesahkan tandatangannya. Perbendaharaan kata berdaftar membantu manusia mengklasifikasikan data; sahaja pengesah yang dipercayai boleh mengesahkan bahawa pengeluar membekalkan nilai yang dilindungi.
iss dan sub dipaparkan sebagai rentetan; pelaksanaan ini tidak menguatkuasakan sintaks StringOrURI
`iss` mengenal pasti siapa yang dituntut oleh token yang mengeluarkannya dan `sub` mengenal pasti siapa atau tentang perkara itu. ToolAcre menerangkan kedua-duanya dan memaparkan nilainya, tetapi pelaksanaannya tidak mengesahkan tatabahasa StringOrURI atau membandingkan mana-mana medan dengan konfigurasi perkhidmatan.
Pengesah harus mengikat pengeluar dijangka kepada bahan utama yang dipercayai dan mentafsir subjek di bawah ruang nama pengeluar tersebut. Menyalin rentetan pengeluar yang diketahui ke dalam muatan rekaan menjadikan penyahkod kelihatan meyakinkan tanpa menentukan asal. Gunakan medan ini sahaja selepas pengesahan kriptografi.
aud — penerima yang dimaksudkan, sebagai rentetan atau tatasusunan
`aud` menerangkan penerima yang dimaksudkan dan boleh diwakili sebagai satu nilai atau senarai di bawah peraturan token yang berkenaan. Jadual tuntutan generik ToolAcre mengekalkan tatasusunan sebagai teks JSON tetapi tidak memutuskan sama ada perkhidmatan semasa muncul di dalamnya.
Khalayak adalah kontekstual. Token yang disahkan yang sama mungkin sesuai untuk satu API dan salah untuk yang lain. Pelayan sumber memerlukan pengecam yang dijangka dalam konfigurasi yang dipercayai dan mesti menolak ketidakpadanan daripada membiarkan token menentukan tempat ia harus diterima.
exp, nbf dan iat — tiga tuntutan NumericDate yang mengikat token dalam masa
`exp`, `nbf` dan `iat` ialah tuntutan NumericDate. ToolAcre menganggap nombor terhingga sebagai saat sejak zaman itu, didarab dengan 1,000 untuk paparan Tarikh dan label tamat tempoh atau tidak-sebelum berbanding jam pelayar. Ia tidak menentukan kelonggaran atau menguatkuasakan penerimaan pelayan.
Tamat tempoh menandakan sempadan akhir yang dituntut, bukan bukti bahawa token itu pernah sah. Tidak-sebelum menandakan sempadan permulaan yang dituntut, dan dikeluarkan-di merekodkan masa penciptaan yang dituntut. Setiap satu boleh dipalsukan dalam muatan, jadi aritmetik masa mesti mengikut pengesahan tandatangan dalam aliran yang dipercayai.
jti — pengecam unik untuk pengesanan ulang tayang dan senarai penafian
`jti` ialah pengecam token. Sistem boleh menggunakan pengecam yang disahkan, dijana sesuai untuk penjejakan ulangan atau keadaan pembatalan, tetapi tuntutan sahaja tidak memberikan mana-mana harta. ToolAcre menerangkannya sebagai id token untuk pengesanan ulang tayang dan memaparkan nilai tepatnya.
Keunikan, storan dan gelagat carian adalah milik seni bina pengeluar dan pengesah. Penyahkod tidak boleh menentukan sama ada token lain menggunakan semula pengecam atau sama ada senarai penafi mengandunginya. Anggap ia sebagai nilai korelasi calon sehingga sistem dipercayai di sekeliling membekalkan bukti.
Perihalan berdaftar dan tuntutan khusus aplikasi dalam paparan ToolAcre
Pelaksanaan ini membezakan nama berdaftar sahaja melalui teks penerangan. Setiap harta muatan masih dikembalikan oleh `listClaims`; nama yang tidak diketahui menerima perihalan batal dan UI melabelkannya khusus aplikasi. Ia tidak merujuk kepada pendaftaran awam atau menghalang perlanggaran nama peribadi.
Sempadan itu mengelakkan tuntutan lebih daripada yang dibuktikan oleh sumber. Pasukan harus mendokumentasikan tuntutan peribadi mereka dan memilih nama yang tahan perlanggaran apabila saling kendali penting. Ketiadaan perihalan penyahkod bermaksud "tidak dalam jadual tujuh nama tempatan ini", bukan "tidak sah" atau "selamat untuk diabaikan".
Contoh yang berkesan — membaca muatan yang realistik dan mengklasifikasikan setiap tuntutan
Pertimbangkan `{"iss":"https://issuer.example","sub":"user-7","aud":["orders"],"exp":1717246800,"nbf":1717243100,"iat":1717243200,"jti":"demo-9","tenant":"north"}`. ToolAcre menerangkan tujuh medan berdaftar dan label `tenant` khusus aplikasi semasa memformat tiga kali angka.
Klasifikasi ini membantu menyemak reka bentuk muatan. Ia tidak mengesahkan URL, subjek, penonton, tarikh, pengecam atau penyewa. Token palsu boleh menghasilkan semula objek dengan tepat. Suapkan sahaja tuntutan yang disahkan ke dalam logik kebenaran, kemudian gunakan nilai jangkaan perkhidmatan yang menggunakan.
Bawa pulang: gunakan nama berdaftar apabila sesuai — penyahkod ToolAcre JWT menunjukkan muatan supaya anda boleh melihat tuntutan yang ditetapkan oleh pengeluar sebenar
Gunakan nama berdaftar apabila makna yang ditentukan sesuai, kerana perbendaharaan kata yang boleh dikenali mengurangkan terjemahan yang tidak perlu. Pastikan medan peribadi didokumenkan dan minimum. Jangan membebankan `sub`, `aud` atau tuntutan masa dengan maksud setempat yang berbeza semata-mata kerana kod hiliran sudah menghuraikan kunci tersebut.
ToolAcre boleh menunjukkan nama yang dibawa oleh token selamat dan cara tuntutan berangkanya dipaparkan. Ia tidak boleh mengesahkan sebarang nilai. Hasil berguna penyahkodan ialah inventori untuk semakan; hasil pengesahan dan dasar yang berguna adalah keputusan, dan keputusan itu kekal berasingan.