Я использую аутентификацию 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, но ничего не говорится о том, как затем обращаться к этим данным и использовать их для принудительной авторизации.