在WSO2 IS中

时间:2019-07-01 16:52:25

标签: wso2 wso2is

我在Angular应用程序中将OIDC身份验证与WSO2 IS(5.7.0)一起使用,并将OAuth2访问令牌(JWT)传递到后端REST API,以进行身份​​验证(身份传播)和授权。

我已经在WSO2中配置了服务提供者,以便分配给用户的角色包含在访问令牌(通过groups范围)的组声明(oidc)中,但是我我不确定如何确定用户从这些角色继承了哪些权限,以便可以在Angular App / REST API中应用一些粗粒度的授权(RBAC)逻辑。具体来说,我对添加到服务提供商的自定义权限感兴趣。

我不是特别希望将WSO2 IS用作XACML PDP进行边界上的粗粒度授权,但是我正在考虑将其用于更接近数据访问/操作的更细粒度授权(ABAC)-在这里想要考虑数据的属性。但是,我什至不确定这些权限是否可以在XACML策略中使用,因为它们不是用户的直接属性,这与它们没有作为OAuth2访问令牌中的声明返回的原因相同。

是否有一种方法可以将继承的权限作为声明包括在OAuth2访问令牌中?

或者,我是否可以使用访问令牌调用一个单独的WSO2 IS端点来检索权限列表-甚至在声明以一个单独的令牌(JWT)返回时也可以这样做?

通过阅读文档并在线搜索,WSO2 IS中的OAuth2(作用域/声明)和RBAC(角色/权限)之间似乎完全断开。这里有关于如何在WSO2 IS中配置用户,角色和权限(RBAC)的详细信息,但是没有关于如何然后访问和使用该数据来执行授权的详细信息。

1 个答案:

答案 0 :(得分:0)

可以通过扩展名来实现。

签出https://github.com/wso2-incubator/samples-is/tree/master/custom-permission-claim-handler

我想这正是您想要的。