4

我们可能想要创建第三方 API 来访问我们的 Plone CMS 站点数据。在第三方系统中共享用户权限的一种可能方法是 OAuth2,如 Twitter、Tumblr 和 Facebook 所使用的。这样,第三方在用户单击对话框中的“允许”以访问自己的数据后获得用户特权。

  • 是否存在 Plone 充当 OAuth2 主机的现有解决方案(不确定术语)

  • 此用例可能还有哪些其他选项

我不着急,这是 2014 年的计划 :)

4

1 回答 1

1

据我所知,pmr2.oauth 是唯一一个为 Plone 提供 OAuth 提供程序支持的包(披露:我也写了这个)(即这让 Plone 充当“OAuth 主机”,包括对范围的支持,以便让用户知道什么他们允许,如 Twitter 等)。我简要介绍了另一个名为 wsgioauth 的包,但它是一个相当通用的包,它是针对 wsgi 的,所以我最终构建了自己的包(看起来 wsgioauth 已经 3 年没有维护了)。

目前只支持OAuth 1.0;原因是在开发时没有好的 OAuth 2.0 库,尤其是对于提供者而言。直到最近,对 RFC 6749(实际的 OAuth 2.0 标准)的支持才开始通过 oauthlib 浮出水面,oauthlib 是对 pmr2.oauth 的请求进行签名的库。也就是说,希望我以足够模块化的方式编写它以插入对 OAuth 2.0 的支持,或者至少核心很容易修改以包含对此的支持。我非常乐意让 Plone 社区接受并改进它(甚至分叉它,或任何熟悉该领域的人),因为我还没有任何立即计划包括对 OAuth 2.0 的支持。

于 2013-10-21T22:25:21.370 回答