【发布时间】:2018-07-12 21:19:03
【问题描述】:
我在这里从概念上提出一个问题,因为我试图了解基于 OAuth2 的系统中范围和用户角色之间的关系。
在实现 API 时,我想通过对资源使用范围来限制对特定资源的访问。我了解使用访问令牌来请求资源,并且我相信我的理解是正确的,因为您在请求访问令牌时指定了您的范围。
我不完全确定的是如何根据经过身份验证的用户所处的特定角色来限制范围。假设 Bob 是管理员,Sue 是普通用户。我们有一些受 is_admin 范围保护的资源。是什么阻止了 Sue 在她的访问令牌中请求(和接收)is_admin 范围?
我认为应该发生的事情如下:
- Bob 进行身份验证。
- Bob 的角色在他的身份验证完成后进行查找。他的“管理员”角色附加了“is_admin”范围。
- Bob 请求一个访问令牌,其中包含从他的各个角色收集的所有范围
- Bob 会自动获得访问令牌的这些范围
是否由我的调用应用程序强制仅发送请求 Bobs 需要的范围?还是在范围方面我缺少什么?
有人可以用一些简单的例子来启发我吗?
【问题讨论】:
-
对于那些因为需要知道有哪些范围而在这里磕磕绊绊的人:developers.google.com/identity/protocols/oauth2/scopes
标签: oauth-2.0