我在一个Angular应用程序中使用WSO2 IS (5.7.0)的OIDC身份验证,并将OAuth2访问令牌(JWT)传递给后端REST API进行身份验证(身份传播)和授权。
我已经在WSO2中配置了服务提供者,以便分配给用户的角色包含在访问令牌中的组声明(groups
)中(通过oidc
作用域),但是我不确定如何确定用户从这些角色继承了哪些权限,以便可以在我的Angular应用程序/ REST中应用一些粗粒度授权逻辑。具体来说,我对添加到服务提供商的自定义权限感兴趣。
我并不特别想使用WSO2 IS作为XACML PDP来实现这种边界上的粗粒度授权,但我正在考虑将其用于更接近数据访问/操作的细粒度授权--在这种情况下,我们希望将数据的属性考虑在内。但是,我甚至不确定这些权限是否可以在XACML策略中使用,因为它们不是用户的直接属性,这与它们不作为OAuth2访问令牌中的声明返回的原因相同。
有没有办法将继承的权限作为声明包含在OAuth2访问令牌中?
或者,是否有单独的WSO2是端点,我可以使用访问令牌调用它来检索权限列表-甚至可能作为单独令牌(JWT)中返回的声明?
从阅读文档和在线搜索来看,WSO2 IS中的OAuth2 (作用域/声明)和RBAC (角色/权限)之间似乎完全脱节。本文详细介绍了如何在WSO2 IS中配置用户、角色和权限,但没有介绍如何访问和使用这些数据来执行授权。
发布于 2019-07-12 23:13:39
这可以通过扩展来实现。
查看https://github.com/wso2-incubator/samples-is/tree/master/custom-permission-claim-handler。
我想这正是你要找的。
https://stackoverflow.com/questions/56839476
复制相似问题