通过OneLogin和.NET Core使用OpenID Connect / OAuth2进行基于角色的访问控制

问题描述 投票:0回答:2

我正在寻找有关使用OpenID Connect / OAuth2和.NET Core与OneLogin实现基于角色的访问控制的信息和示例代码。

任何建议将非常感谢。

asp.net-core .net-core onelogin
2个回答
0
投票

我建议去IdentityServer4路线。

它的实现是OAuth2和OpenIdConnect规范的抽象。

你可以从阅读docs开始

他们有很好的文档和丰富的样本可供您入门。

就像注释和基于角色的访问不会是你的首选,因为发行商店声明的代币。但是,您可以将UserRoles转换为声明。


0
投票

OAuth2或OIDC无法自行实现RBAC。它们分别是授权或认证协议。 OIDC有可能将组/角色信息作为令牌中的声明携带,这将要求您的应用程序能够解析声明,然后根据声明中包含的信息应用权限。

RBAC通常需要IAM或IGA工具来实现角色目录/模型。将角色分配给用户提供权利。该权利可以直接在目标应用程序上实现(例如,通过API,或通过Microsoft AD组),或者IdP可以将OIDC令牌中的权利传递给目标应用程序。

对于具有AD集成的Onelogin,您可以通过OIDC令牌中携带的memberOf属性来驱动您的权利。这不是RBAC,除非AD组成员资格是通过IAM / IGA工具分配的,该工具通过角色分配这些组成员资格。

© www.soinside.com 2019 - 2024. All rights reserved.