我想知道在OAuth中是否有一种方法可以限制用户在访问令牌后可以看到的数据。例如,在“照片共享”示例中,一个应用程序包含照片列表,而另一个应用程序想要访问照片以进行打印。用户如何指示照片打印服务应该看到照片的子集?也许我只想让打印服务看到带有.jpg扩展名的照片,或者是某个日期之后的照片,或者是带有某个‘标签’的照片。哪里可以填充额外的授权要求?
我有一个java应用程序,我们使用的是Spring Security OAuth2,希望我们能做到这一点。
谢谢
发布于 2014-06-13 03:02:22
例如,您可以使用“scope”来实现此目的。定义一个自定义的“作用域”,您的服务的端点应该解释该自定义作用域并根据它进行行为。
例如,将'pic_jpeg‘定义为作用域名,并在您的API文档中描述该范围,如“访问pic_jpeg图片需要’JPEG‘范围”。
客户端应用程序将使用参数'scope=pic_jpeg scopeX scopes‘访问您的授权端点,您的OAuth 2.0授权服务器实现最终将发布一个与作用域(pic_jpeg scopeX和scopeY)关联的访问令牌。然后,客户端应用程序使用访问令牌访问服务的' pictures‘端点,因此端点应确认访问令牌与'pic_jpeg’作用域相关联,并仅在确认时才允许客户端应用程序访问JPEG图片。
https://stackoverflow.com/questions/24098764
复制相似问题