【问题标题】:Retrieving and using Permissions from a Service Provider in WSO2 IS在 WSO2 IS 中检索和使用来自服务提供商的权限
【发布时间】:2019-07-12 23:13:39
【问题描述】:

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

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

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

有没有办法将继承的权限作为声明包含在 OAuth2 访问令牌中?

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

通过阅读文档和在线搜索,WSO2 IS 中的 OAuth2(范围/声明)和 RBAC(角色/权限)之间似乎完全脱节。有关于如何在 WSO2 IS 中配置用户、角色和权限 (RBAC) 的详细信息,但没有关于如何访问和使用该数据来执行授权的详细信息。

【问题讨论】:

    标签: wso2 wso2is


    【解决方案1】:

    这可以通过扩展来实现。

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

    我想这正是你要找的。​​p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      • 2017-05-01
      相关资源
      最近更新 更多