Управление доступом на основе ролей с OpenID Connect / OAuth2 через OneLogin и .NET Core - PullRequest
0 голосов
/ 11 февраля 2019

Я ищу информацию и пример кода для реализации управления доступом на основе ролей с OpenID Connect / OAuth2 и .NET Core с OneLogin.

Любой совет будет очень признателен.

Ответы [ 2 ]

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

OAuth2 или OIDC не могут реализовать RBAC самостоятельно.Это протокол авторизации или аутентификации соответственно.OIDC может нести информацию о группе / роли в качестве утверждений в токене, что потребует от вашего приложения возможности анализировать утверждения и затем применять разрешения на основе информации, содержащейся в утверждении.

RBAC обычно требуется инструмент IAM или IGA для реализации каталога / модели ролей.Назначение роли пользователю дает право.Это право может быть реализовано непосредственно в целевом приложении (через API или, например, через группы Microsoft AD), или IdP может передать разрешение в маркере OIDC целевому приложению.

Для Onelogin, особенно там, где у вас есть интеграция с AD, вы можете управлять своими правами через атрибут memberOf, содержащийся в маркере OIDC.Однако это не RBAC, если только членство в группах AD не было назначено с помощью инструмента IAM / IGA, который назначает членство в этих группах через роли.

0 голосов
/ 11 февраля 2019

Я бы порекомендовал пойти по маршруту IdentityServer4.

Его реализация является абстракцией OAuth2 и спецификаций OpenIdConnect.

Вы можете начать с чтения docs

У них довольно хорошая документация и множество образцов, доступных для начала.

Как примечание, так и доступ на основе ролей не будет для вас подходом, поскольку токены, выданные в магазине, требуют,Однако вы можете конвертировать UserRoles в Claims.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...