1

我想知道 OAuth 中是否有办法限制用户在访问令牌后可以看到的数据。例如,在“照片共享”示例中,一个应用程序包含照片列表,而另一个应用程序想要访问照片以进行打印。用户如何指示照片打印服务应该看到照片的子集?也许我只想让打印服务看到带有 .jpg 扩展名的照片,或者特定日期之后的照片,或者带有特定“标签”的照片。可以在哪里填写其他授权要求?
我有一个 java 应用程序,我们正在使用 Spring Security OAuth2,希望我们能做到这一点。

谢谢

4

1 回答 1

1

例如,您可以为此目的使用“范围”。定义一个自定义的“范围”,您的服务的端点应该解释自定义范围并基于此进行行为。

例如,将 'pic_jpeg' 定义为范围名称,并在 API 文档中描述范围,如“访问 JPEG 图片需要'pic_jpeg' 范围”。

客户端应用程序将使用参数“scope=pic_jpeg scopeX scopeY”访问您的授权端点,并且您的 OAuth 2.0 授权服务器实现最终将发出与范围(pic_jpeg scopeX 和 scopeY)关联的访问令牌。然后客户端应用程序使用访问令牌访问服务的“图片”端点,因此端点应确认访问令牌与“pic_jpeg”范围相关联,并仅在确认后才允许客户端应用程序访问 JPEG 图片。

于 2014-06-12T19:02:22.403 回答