Получение и использование разрешений от поставщика услуг в WSO2 IS - PullRequest
0 голосов
/ 01 июля 2019

Я использую аутентификацию OIDC с WSO2 IS (5.7.0) в Angular Application и передаю токен доступа OAuth2 (JWT) через внутренние REST API для аутентификации (распространения идентификаторов) и авторизации.

Я настроил поставщика услуг в WSO2 так, чтобы роли, назначенные пользователю, были включены в заявку группы (groups) в маркере доступа (через область действия oidc), но я не уверен, как я могуопределить, какие разрешения унаследовал пользователь от этих ролей, чтобы я мог применить некоторую логику грубой авторизации (RBAC) в своих API-интерфейсах Angular App / REST.В частности, меня интересуют пользовательские разрешения, добавленные к поставщику услуг.

Я не особо хочу использовать WSO2 IS в качестве PDP XACML для этой крупномасштабной авторизации на границе, но рассматриваю возможность ее использования дляболее детальная авторизация (ABAC) ближе к доступу к данным / манипулированию ими, где мы хотим принимать во внимание атрибуты данных.Однако я даже не уверен, можно ли использовать эти разрешения в политиках XACML, поскольку они не являются прямыми атрибутами пользователя, по той же причине, по которой они не возвращаются в качестве утверждений в маркере доступа OAuth2.

Есть ли способ включить унаследованные разрешения в качестве утверждений в токен доступа OAuth2?

В качестве альтернативы, есть ли отдельная конечная точка WSO2 IS, которую я могу вызвать с помощью токена доступа для получения списка разрешений - возможно, даже в качестве утвержденийвозвращено в отдельном токене (JWT)?

При чтении документации и поиске в Интернете, по-видимому, существует полное разъединение между OAuth2 (Scopes / Claims) и RBAC (Roles / Permissions) в WSO2 IS.Подробно о том, как настроить пользователей, роли и разрешения (RBAC) в WSO2 IS, но ничего не говорится о том, как затем обращаться к этим данным и использовать их для принудительной авторизации.

1 Ответ

0 голосов
/ 12 июля 2019

Это возможно с расширением.

Check https://github.com/wso2-incubator/samples-is/tree/master/custom-permission-claim-handler out.

Я думаю, это именно то, что вы ищете.

...