Перейти получить доступ к ресурсам пользователей, политики и разрешения в Keycloak 7.x - PullRequest
0 голосов
/ 06 октября 2019

Я оцениваю Keycloak 7.X, который будет использоваться в наших приложениях и состоит из примерно двенадцати микросервисов (Spring Boot) и четырех приложений Angular 6.x. Я планирую использовать адаптеры Keycloak для приложений Angular, а также Spring Boot вместо OAuth 2.0 для SpringBoot. Мое доказательство концепции должно демонстрировать следующие варианты использования.

(1) Единая регистрация. (2) Управление доступом на основе ролей (3) Политика и разрешения - например, пользователь с ролью «Супервизор» должен иметь доступ к зарплате всех сотрудников организации. Тем не менее, он / она может давать повышение только тем сотрудникам, которые работают в том же месте, что и руководитель. Другими словами, будет атрибут «местоположение», связанный с каждым пользователем. Даже если роль пользователя - «Супервизор», разрешение должно учитывать атрибут «местоположение» для определения доступа к ресурсу.

Я планирую использовать JWT. JWT будет содержать список разрешений, и отдельный микросервис будет определять, используя комбинацию «местоположение» и «разрешение».

К сожалению, я не могу настроить клиент в Keycloak для назначения политик и разрешений, а также не могуЯ нахожу любой пример в интернете.

1 Ответ

0 голосов
/ 08 октября 2019

Для использования политик и разрешений ваши приложения должны реализовывать Протокол User-Manager Access 2.0 . Прочитайте Страница с управляемым пользователем доступом , например, документация.

Я планирую использовать JWT. JWT будет содержать список разрешений, и отдельный микросервис определит, используя комбинацию «местоположение» и «разрешение».

Если логика определения доступа находится в микросервисах, то вы не будетенужны политики и разрешения. Вы можете просто определить роли (например, руководитель) и атрибуты (например, местоположение) на стороне Keycloak и настроить их для включения в токен доступа (JWT).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...