Должна ли информация о разрешениях и ролях клиента быть включена в JWT?
Наличие такой информации в токене JWT будет очень полезно, так как каждый раз, когда приходит действительный токен, будет легче извлечь информацию о разрешении о пользователе, и не будет необходимости вызывать базу данных для этого. Но будет ли проблема безопасности связана с включением такой информации, а не с двойной проверкой в базе данных?
Или,
Информация, подобная упомянутой выше, не должна быть частью JWT, и только база данных должна использоваться для проверки ролей доступа и разрешений пользователя?
источник
По моему опыту, если все ваши системы используют какую-то центральную базу данных ролей и разрешений, вы можете добавить все это в JWT.
Однако этот подход может не сработать в сценариях единого входа, когда сам сервер аутентификации не имеет никакого представления о целевой системе, которая будет получать токен и доверять ему.
Роли и разрешения пользователя полностью зависят от получателя токена JWT. Это особенно актуально, когда вы интегрируете SSO-аутентификацию с JWT в некоторые унаследованные системы, в которых уже есть подсистема разрешений, и поэтому им требуется только одно утверждение, присутствующее в JWT, - утверждение о личности пользователя.
источник