Rancang Kaedah untuk Menyahkod Token JWT dalam JavaScript
Menyahkod token JWT tanpa menggunakan perpustakaan adalah mungkin dalam JavaScript. Ini boleh dicapai dengan mengekstrak muatan secara manual daripada token.
Langkah untuk Pengekstrakan Muatan:
1. Penyahkodan Base64:
Pisah token kepada tiga bahagian (pengepala, muatan, tandatangan) menggunakan tanda '.' watak. Nyahkod bahagian kedua (muatan) menggunakan pengekodan Base64URL, yang menggantikan ' ' dan '/' dengan '-' dan '_' masing-masing.
2. Penggantian Teks Unikod:
Muatan dinyahkod ialah jujukan teks Unikod. Gantikan mana-mana aksara yang tidak boleh dicetak (% simbol) dengan kod ASCII yang sepadan (cth., untuk ruang).
3. Penghuraian JSON:
Akhir sekali, huraikan teks yang diganti sebagai JSON untuk mendapatkan objek muatan.
Pelaksanaan:
Pelayar :
<code class="javascript">function parseJwt(token) { var base64Url = token.split('.')[1]; var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); var jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }).join('')); return JSON.parse(jsonPayload); }</code>
Node.js:
<code class="javascript">function parseJwt(token) { return JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString()); }</code>
Nota: Menyahkod muatan tidak mengesahkan tandatangan token. Ia menganggap token itu tidak diusik.
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod Token JWT Secara Manual dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!