【发布时间】:2013-02-12 18:17:32
【问题描述】:
我正在使用OAuth2 authorization 构建一个ASP.NET Web Api,并且正在开发一个我们已经拥有的应用程序:
- 客户
- 组织
- 用户
一个客户有一个或多个组织,一个用户可以为一个或多个客户行事。
我想让这个逻辑成为范围和访问令牌的一部分。这样我可以限制访问,但我也可以使用我的 API 从应用程序中移除一些(复杂的)逻辑。 (当他们选择小范围时)
范围
- 组织结构
- 客户
- 全部
例如
当应用向组织请求访问令牌时 范围用户应该在授权页面上看到两个下拉框。一到 选择一个客户和第二个从组织中选择一个 这个客户有。
这样,具有范围组织的访问令牌应仅限于该单一组织之外的数据。
使用DotNetOpenAuth 实现这一点的最佳方法是什么?
我应该将 organizationId 和 customerId 作为范围添加到 accesstoken 吗?如果我这样做,我将如何处理“客户”范围?我应该只添加没有组织 ID 的 CustomerId 吗? (客户最多可以拥有大约 150 个组织)
理想情况下,我想将其转换为可以轻松用于授权用户操作的声明。
如果范围是解决此问题的正确方法,或者我可以如何更好地解决此问题的一些想法,我想要一些反馈,而无需重新发明轮子或破坏 DotNetOpenAuth 框架的开放。
附言
我同时构建了AuthorizationServer 和ResourceServer。
【问题讨论】:
标签: asp.net-web-api oauth-2.0 dotnetopenauth