Как сопоставить заявку с ролью на основе значения заявки в Keycloak? - PullRequest
0 голосов
/ 14 марта 2019

Я использую Keycloak в качестве Identity Broker. У меня есть несколько провайдеров идентификационных данных, подключенных для предоставления идентификационной информации. Каждый из этих IdP имеет свой собственный способ передачи представления ролей, которые должны быть назначены пользователю.

Например:

  • IdP A: отправляет заявку под названием «роль» со значениями «1», «2» или «3»
  • IdP B: отправляет заявку под названием «группа» со значениями «view», «edit», «admin»

В случае IdP A я хочу, чтобы отображение role=1 отображалось на роль с именем «Просмотрщик», role=2 для сопоставления с ролью, называемой «Редактор», и role=3 для сопоставления с роль называется "Администратор".

В случае IdP B я хочу сопоставить group=view для сопоставления с «Средством просмотра», group=edit для сопоставления с «Редактором» и group=admin для сопоставления с «Администратором».

Я пытался создать сопоставители "Требование к роли", но, похоже, это работает не так, как я хотел бы надеяться: если я создаю один для каждого значения требования (так в случае IdP B, один для group=view , group=edit, group=admin), срабатывает только один из них.

Как мне создать Mapper для IdP, который может настроить роль Keycloak на основе комбинации (имя претензии, стоимость претензии)?

...