WSO2 IS: аутентификация / авторизация на основе ролей в многопользовательском режиме - PullRequest
0 голосов
/ 13 марта 2019

У меня есть приложение, которое аутентифицируется с помощью OAuth2 OIDC WSO2 IS (многопользовательский режим).Я хочу получить авторизацию на основе ролей.В основном я настроил его следующим образом:

На странице Super Tenant Carbon:

  1. Создание поставщика услуг
  2. Установите флажок SaaS, чтобы включитьавторизация через клиента
  3. В локальной и исходящей аутентификации Conf я включил параметр авторизации
  4. Создайте пользовательскую роль, скажем, RoleA, и назначьте ее пользователю.
  5. Настройка политики Администрирование и публикацияэто (я следовал этому руководству: https://docs.wso2.com/display/IS550/Configuring+Access+Control+Policy+for+a+Service+Provider)

На странице Tenant B Carbon

  1. Создать RoleA и назначить его пользователю

Результат:

  1. Пользователь с RoleA в Super Tenant может войти в систему
  2. Пользователь с RoleA в Tenant B не может войти в систему (АвторизацияНе удалось)

Как это работает?

Примечание:

  1. Если авторизация не включена, кросс-клиентская проверка подлинности работает.
  2. Я проверил с существующей ролью (Внутренняя / подписчик), которая также не работает для арендатора.
  3. Я использую WSO2 IS в качестве КМ 5.5

1 Ответ

0 голосов
/ 13 марта 2019

Я попробовал тот же сценарий, и он сработал, как и ожидалось.

Вы используете внешнюю роль или внутреннюю роль? Скажем, если вы создаете внутреннюю роль с именем foo. Это будет названо Internal/foo. Таким образом, вы также должны использовать Internal/foo в политике XACML.

...