Asp.net core 通过OneLogin和.NET Core使用OpenID Connect/OAuth2进行基于角色的访问控制
我正在寻找有关使用OpenID Connect/OAuth2和使用OneLogin实现基于角色的访问控制的信息和示例代码Asp.net core 通过OneLogin和.NET Core使用OpenID Connect/OAuth2进行基于角色的访问控制,asp.net-core,.net-core,onelogin,Asp.net Core,.net Core,Onelogin,我正在寻找有关使用OpenID Connect/OAuth2和使用OneLogin实现基于角色的访问控制的信息和示例代码 任何建议都将非常宝贵。我建议您选择IdentityServer4路线 它的实现是OAuth2和OpenIdConnect规范的抽象 你可以从阅读 他们有相当好的文档和大量的样本可供您开始使用 同样值得注意的是,基于角色的访问将不会出现在这里,因为发出的代币是商店声明的。但是,您可以将用户角色转换为声明。我建议您选择IdentityServer4路线 它的实现是OAuth2和O
任何建议都将非常宝贵。我建议您选择IdentityServer4路线 它的实现是OAuth2和OpenIdConnect规范的抽象 你可以从阅读 他们有相当好的文档和大量的样本可供您开始使用
同样值得注意的是,基于角色的访问将不会出现在这里,因为发出的代币是商店声明的。但是,您可以将用户角色转换为声明。我建议您选择IdentityServer4路线 它的实现是OAuth2和OpenIdConnect规范的抽象 你可以从阅读 他们有相当好的文档和大量的样本可供您开始使用
同样值得注意的是,基于角色的访问将不会出现在这里,因为发出的代币是商店声明的。但是,您可以将用户角色转换为声明。OAuth2或OIDC不能单独实现RBAC。它们分别是授权协议或身份验证协议。OIDC可能会将组/角色信息作为令牌中的声明进行携带,这将要求应用程序能够解析声明,然后根据声明中携带的信息应用权限 RBAC通常需要IAM或IGA工具来实现角色目录/模型。将角色分配给用户提供了权限。该授权可以直接在目标应用程序上实现(例如通过API或通过Microsoft AD组),或者IdP可以将OIDC令牌中的授权传送到目标应用程序
对于Onelogin,特别是在您有广告集成的情况下,您可以通过OIDC令牌中的memberOf属性来驱动您的权利。但这不是RBAC,除非AD组成员身份已通过IAM/IGA工具分配,该工具通过角色分配这些组成员身份。OAuth2或OIDC无法单独实现RBAC。它们分别是授权协议或身份验证协议。OIDC可能会将组/角色信息作为令牌中的声明进行携带,这将要求应用程序能够解析声明,然后根据声明中携带的信息应用权限 RBAC通常需要IAM或IGA工具来实现角色目录/模型。将角色分配给用户提供了权限。该授权可以直接在目标应用程序上实现(例如通过API或通过Microsoft AD组),或者IdP可以将OIDC令牌中的授权传送到目标应用程序
对于Onelogin,特别是在您有广告集成的情况下,您可以通过OIDC令牌中的memberOf属性来驱动您的权利。但这不是RBAC,除非广告组成员身份已通过IAM/IGA工具分配,该工具通过角色分配这些组成员身份。如何在IdentityServer4中实现基于角色的访问?有什么建议吗?我已经查看了IdentityServer4中的所有文档和样本。但我仍然不完全理解如何实现RBAC(它们有作用域,是通过作用域实现的吗?)。关于你的最后一段,你能详细说明一下吗?要使用IdS4,我们需要实现数据库模式,或者我可以使用现有的db模式,但使用逻辑从中获取数据?如何在IdentityServer4中实现基于角色的访问?有什么建议吗?我已经查看了IdentityServer4中的所有文档和样本。但我仍然不完全理解如何实现RBAC(它们有作用域,是通过作用域实现的吗?)。关于你的最后一段,你能详细说明一下吗?要使用IdS4,我们需要实现数据库模式,或者可以使用现有的db模式,但使用逻辑从中获取数据?