我们可能想要创建第三方 API 来访问我们的 Plone CMS 站点数据。在第三方系统中共享用户权限的一种可能方法是 OAuth2,如 Twitter、Tumblr 和 Facebook 所使用的。这样,第三方在用户单击对话框中的“允许”以访问自己的数据后获得用户特权。
是否存在 Plone 充当 OAuth2 主机的现有解决方案(不确定术语)
此用例可能还有哪些其他选项
我不着急,这是 2014 年的计划 :)
据我所知,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 的支持。