Haruskah informasi tentang izin dan peran klien dimasukkan dalam JWT?
Memiliki informasi seperti itu di token JWT akan sangat membantu karena setiap kali token yang valid datang, akan lebih mudah untuk mengekstrak informasi tentang izin tentang pengguna dan tidak perlu menghubungi database untuk hal yang sama. Tetapi apakah memasukkan informasi seperti itu dan tidak memeriksa dua kali di database akan menjadi masalah keamanan?
Atau,
Informasi seperti yang disebutkan di atas seharusnya tidak menjadi bagian dari JWT, dan hanya database yang harus digunakan untuk memeriksa peran akses dan izin pengguna?
sumber
Dari pengalaman saya, jika semua sistem Anda menggunakan beberapa peran sentral dan basis data izin, Anda dapat menambahkan semua itu ke JWT.
Namun, pendekatan ini mungkin tidak berfungsi dengan baik dalam skenario SSO ketika server auth itu sendiri tidak tahu sama sekali tentang sistem target yang akan menerima dan mempercayai token.
Peran dan izin pengguna sepenuhnya ada pada penerima token JWT. Terutama ketika Anda mengintegrasikan SSO auth dengan JWT ke beberapa sistem lama yang sudah memiliki subsistem izin mereka dan karenanya mereka hanya perlu satu klaim untuk hadir di JWT - klaim identitas pengguna.
sumber