Для проверки принадлежности пользователя к определенной группе/роли в Keycloak при обмене токенами между клиентами в рамках Direct grant flow, необходимо использовать Policy Enforcement Mode (PEM) в Keycloak. PEM позволяет накладывать ограничения на доступ пользователей на основе их атрибутов, включая принадлежность к группам и ролям.
Для настройки проверки группы/роли пользователя во время обмена токенами между клиентами, следуйте этим шагам:
1. Зайдите в административную консоль Keycloak и выберите ваш Realm.
2. Настройте Client Scope, который будет содержать требуемую группу/роль в разделе Client Scopes. Добавьте соответствующие макросы, например, "${role}", "${groups}", для включения ролей и групп в токен.
3. Привяжите этот Client Scope к вашим клиентам в разделе Clients.
4. Создайте Policy в разделе Authorization, где укажите требуемую группу/роль в условиях Policy. Например, "role == 'admin'".
5. Включите PEM в вашем клиенте в разделе Authorization Settings и добавьте созданный Policy в разделе Policies.
Теперь при обмене токенами между клиентами, система будет проверять принадлежность пользователя к определенной группе/роли на основе настроенных Policy. В случае несоответствия условиям Policy доступ пользователю может быть ограничен.
Эти шаги помогут вам правильно настроить проверку группы/роли пользователя при обмене токенами между клиентами в Keycloak и гарантировать, что установленные вами правила проверки группы пользователя будут соблюдены.