Я использую Keycloak 9 вместе с несколькими экземплярами Jhipster 6.7.1.
- Микросервис Orchestration использует «конфиденциальный» тип доступа в Keycloak и успешно генерирует и аутентифицирует токен.
- Для работы @PreAuthorize необходимо было сопоставить настройки ролей в клиенте оркестровки, используя «Роль клиента пользователя» с «ролями» в качестве имени утверждения токена. Если я пытаюсь передать группы, по какой-то причине Jhipster игнорирует роли и возвращает только значение групп, что приводит к ошибке @PreAuthorize.
- Другие микросервисы используют тип доступа «brearer» в Keycloak. Любые роли оркестровки, установленные для авторизации микросервисов, полностью игнорируются, поэтому проверка авторизации между оркестровкой и микросервисами завершается неудачно при отказе в доступе.
- Связь между оркестровкой и другими микросервисами обрабатывается @ AuthorizedFeignClient
Мне было интересно, что я делаю здесь неправильно, что роли клиента оркестровки не передаются соответствующим микросервисам, а также есть способ сопоставить группы и роли вложенным образом, чтобы он соответствовал существующему Jhipster код без изменения.