#wso2 #wso2is
#wso2 #wso2-identity-server
Вопрос:
У меня есть приложение, которое аутентифицируется с использованием OAuth2 OIDC из WSO2 IS (режим мультитенанта). Я хочу иметь авторизацию на основе ролей. В основном я настроил это следующим образом:
На странице Super Tenant Carbon:
- Создайте поставщика услуг
- Проверьте параметр SaaS, чтобы включить аутентификацию для всех арендаторов
- В локальной и исходящей Auth Conf я включил опцию авторизации
- Создайте пользовательскую роль, скажем, RoleA, и назначьте ее пользователю.
- Настройте администрирование политики и опубликуйте ее (я следовал этому руководству:https://docs.wso2.com/display/IS550/Configuring Access Control Policy for a Service Provider )
На странице углерода арендатора B.
- Создайте RoleA и назначьте его пользователю
Результат:
- Пользователь с RoleA в Super Tenant может выполнить вход
- Пользователь с RoleA в клиенте B не может войти в систему (сбой авторизации)
Как заставить это работать?
примечание:
- Без включенной авторизации работает проверка подлинности между арендаторами.
- Я тестировал с существующей ролью (внутренняя / подписчик), которая также не работает у арендатора.
- Я использую WSO2 как KM 5.5
Ответ №1:
Я попробовал тот же сценарий, и он сработал так, как ожидалось для меня.
Вы используете внешнюю роль или внутреннюю роль? Скажем, если вы создадите внутреннюю роль с именем foo. Это было бы названо как Internal/foo
. Таким образом, вы также должны использовать Internal/foo
в политике XACML.
Комментарии:
1. он все еще не работает. есть какой-нибудь способ отладить это? какой-либо уровень журнала в свойствах log4j, который я могу изменить для его отладки?