Я оцениваю Keycloak 7.X, который будет использоваться в наших приложениях и состоит из примерно двенадцати микросервисов (Spring Boot) и четырех приложений Angular 6.x. Я планирую использовать адаптеры Keycloak для приложений Angular, а также Spring Boot вместо OAuth 2.0 для SpringBoot. Мое доказательство концепции должно демонстрировать следующие варианты использования.
(1) Единая регистрация. (2) Управление доступом на основе ролей (3) Политика и разрешения - например, пользователь с ролью «Супервизор» должен иметь доступ к зарплате всех сотрудников организации. Тем не менее, он / она может давать повышение только тем сотрудникам, которые работают в том же месте, что и руководитель. Другими словами, будет атрибут «местоположение», связанный с каждым пользователем. Даже если роль пользователя - «Супервизор», разрешение должно учитывать атрибут «местоположение» для определения доступа к ресурсу.
Я планирую использовать JWT. JWT будет содержать список разрешений, и отдельный микросервис будет определять, используя комбинацию «местоположение» и «разрешение».
К сожалению, я не могу настроить клиент в Keycloak для назначения политик и разрешений, а также не могуЯ нахожу любой пример в интернете.