Les informations sur les autorisations et les rôles du client doivent-elles être incluses dans JWT?
Avoir de telles informations dans le jeton JWT sera très utile car à chaque fois qu'un jeton valide arrive, il serait plus facile d'extraire les informations sur l'autorisation de l'utilisateur et il ne sera pas nécessaire d'appeler la base de données pour la même chose. Mais le fait d'inclure de telles informations et de ne pas les vérifier dans la base de données sera-t-il un problème de sécurité?
Ou,
Des informations comme celles mentionnées ci-dessus ne devraient jamais faire partie de JWT, et seule la base de données devrait être utilisée pour vérifier les rôles d'accès et les autorisations d'un utilisateur.
la source
D'après mon expérience, si tous vos systèmes utilisent une base de données de rôles et d'autorisations centrale, vous pouvez ajouter tout cela dans JWT.
Cependant, cette approche peut ne pas fonctionner correctement dans les scénarios d'authentification unique lorsque le serveur d'authentification lui-même n'a aucune idée du système cible qui recevra et approuvera le jeton.
Les rôles et autorisations de l'utilisateur sont entièrement sur le récepteur du jeton JWT. C'est particulièrement vrai lorsque vous intégrez l'authentification SSO avec JWT dans certains systèmes hérités qui ont déjà leur sous-système d'autorisation en place et qu'ils n'ont donc besoin que d'une seule revendication pour être présente dans JWT - la revendication d'identité de l'utilisateur.
la source