Base64URL dan JWT: decode bukan berarti percaya
JWT memakai Base64URL. Baca payload, tetapi verifikasi sebelum dipercaya.
Tiga bagian
JWT bertanda tangan biasanya punya header, payload, dan signature yang dipisahkan titik.
Dua karakter berubah
Base64URL mengganti + menjadi - dan / menjadi _. JWT juga menghapus padding = di akhir.
Membaca bukan validasi
Anda bisa membaca iss, sub, aud, atau exp. Itu tidak membuktikan signature atau penerbit. Server harus memverifikasi signature atau MAC dengan kunci yang benar.
Perhatikan alg
Aplikasi menentukan algoritma yang diterima. Nilai alg yang tidak diharapkan harus gagal.
Debug jelas
Pisahkan dengan titik, decode dua bagian awal sebagai Base64URL, tambah padding bila alat meminta, lalu cek signature, issuer, audience, dan waktu.