【问题标题】:Oauth and scopes and its correct useOauth和范围及其正确使用
【发布时间】:2014-10-02 02:09:23
【问题描述】:

我可能在这里遗漏了一些东西,但客户请求范围的意义何在?

我的意思是,当客户请求令牌时,他/她可以说“我想要一切”,即读/写/删除/更新等。

实际上,用户可能只有读取权限。那么在范围内请求这些有什么意义呢?或者将这些放在范围内不是一个好的做法/想法?如果不是,那你真的用它做什么?

我在一些地方看到它用于电子邮件、用户名,而其他地方则用于 repo:read、repo:write...

授权服务器不是决定用户拥有什么权限吗?

谢谢

【问题讨论】:

    标签: angularjs security oauth scope owin


    【解决方案1】:

    我不确定我是否完全理解你的问题,但这里是。在典型的 OAuth 场景中,有:

    • OAuth 提供者 - 拥有受保护的资源,向资源颁发访问令牌(例如 Google)
    • 最终用户 - 资源的所有者(例如 Google 用户)
    • 中继方 - 使用 OAuth 代表最终用户访问提供商提供的受保护资源(例如,某些随机应用对您的 google 个人资料执行某些操作)

    当您使用中继方的应用程序时,它需要从 OAuth 提供者那里获取您的信息。大多数提供商对最终用户的信息具有不同的访问级别或“范围”——这通常不是全有或全无的访问。中继方必须定义访问范围,并询问 OAuth 提供者,提供者将访问请求的范围呈现给最终用户,最终用户可以决定是否授予中继方该访问范围或拒绝它。

    因此,如果没有范围,中继方如何请求精细级别的访问?

    【讨论】:

    • “那么,如果没有范围,中继方如何请求细粒度级别的访问?” ... 我明白你的意思了。但另一方面,中继方只能授予用户访问权限(他/她有权)。似乎重播方可以请求用户无权访问的访问“X”,而 Oauth 提供者将拒绝它(似乎是额外的检查)。但是我也看到您的观点,即用户可以访问 100 件东西,但是如果您通过特定请求的范围缩小范围,那么它的受限和访问令牌就会变得轻量级。
    • “我明白你的意思。但另一方面,中继方可以只授予用户访问权限(他/她有权)” - 但中继方不授予访问权限,这是提供者,并且仅由用户自行决定。
    猜你喜欢
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2015-09-18
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    相关资源
    最近更新 更多