gpt4 book ai didi

oauth-2.0 - OAuth 2 - 如何定义动态资源授权?

转载 作者:行者123 更新时间:2023-12-03 06:46:52 28 4
gpt4 key购买 nike

作为资源服务器,我希望让用户能够更好地控制他们的资源。

例如,假设我有一个支持 OAuth 2 的云文件系统。

用户可以代表他向客户端提供访问文件的权限。

我希望资源服务器提供对特定文件夹的访问,例如,仅访问照片而不是文档。

文件夹的名称是动态资源,因为它因用户而异。

如何处理动态资源授权?动态范围?

此外,如果范围是动态的,客户端如何知道请求它?

* 在 the spec 中找不到它:(

最佳答案

文档 rfc6749 是 OAuth 2.0 规范,定义了一种通过使用附加参数来扩展 OAuth 2 的方法 (rfc6749#section-8.2)。因此,如果您想使用 OAuth 解决此问题,您可以使用此方法或类似的方法:

  • 您为授权请求定义一个新参数来指定资源(例如:folderID=XXXXX)
  • 在授权请求期间,客户端可以选择使用新参数指定资源
  • 如果指定了该参数,您的授权服务器将生成一个“动态范围”,该范围必须由资源所有者签名
  • 如果不指定该参数,资源所有者可以选择他想要共享的资源,授权服务器可以生成相关的“动态范围”(这种情况意味着资源服务器在授权流程中以某种方式参与)
  • 当资源所有者定义并签署范围时,它们会传达给客户端(如果后者已由资源所有者定义,则客户端应该能够从范围中导出资源 ID)
  • 当客户端请求资源时,资源服务器还必须确保范围包含所请求的资源

请记住,如果每个用户的资源量不是很大,这种方法效果会更好(否则您可能会被范围淹没)。

另一种方法可能是在 OAuth 层后面添加额外的授权层。这个附加层跟踪客户端/可访问资源的关系。

关于oauth-2.0 - OAuth 2 - 如何定义动态资源授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36425975/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com