跳转到主要内容

OAuth PAS插件,Plone的OAuth 1.0提供者。

项目描述

简介

此模块为Zope/Plone提供OAuth支持,可选择通过Zope组件架构进行扩展,以允许添加更多功能丰富的组件。OAuth的核心功能完全支持,包括完整的OAuth身份验证工作流程、站点管理员的客户端(消费者)管理以及资源所有者的访问令牌管理。还支持范围限制;站点管理员可以使用范围配置文件定义客户端可使用的文档类型和子路径,并且客户端可以指定一个列表,以更好地告知资源所有者在其访问权限下将访问什么。

https://travis-ci.org/PMR2/pmr2.oauth.svg?branch=0.6.x https://coveralls.io/repos/PMR2/pmr2.oauth/badge.svg?branch=0.6.x&service=github

尽管测试覆盖率相当完整,并证明了访问权限和范围限制按预期工作,但作者目前不推荐在需要绝对安全性的关键任务环境中使用此软件包,因为没有安全专家对此软件包进行过审计。否则,请确保您的用户了解受信任的第三方客户端是谁,并且您的网站的隐私和安全策略已更新,以便充分告知用户与使用此软件包的OAuth相关的风险。

安装

要求

此软件包需要Plone 4.1或更高版本。

使用buildout安装

您可以通过在eggs和zcml部分中添加此软件包的条目,使用buildout安装pmr2.oauth。

示例

[buildout]
...

[instance]
...

eggs =
    ...
    pmr2.oauth

zcml =
    ...
    pmr2.oauth

运行buildout,然后重启Zope/Plone实例。此包还必须在打算使用基于OAuth的授权的Plone实例的“网站设置”中的“插件”面板下激活。

更多信息和使用说明

如果插件安装和激活正确,可以在${portal_url}/@@pmr2-oauth找到此插件提供的视图索引。

如果您是从此插件的先前版本升级,请参阅docs/UPGRADE.rst以获取一些重要信息。

有关更详细的信息,请参阅pmr2/oauth/README.rst中的doctest文件。

关于

此插件作为Physiome模型存储库的一部分创建,以便能够使用受支持的行业标准授权方法为第三方客户端提供安全的Web服务访问。

变更日志

0.6.1 - 2017-01-13

  • 确保测试与plone.protect>=3兼容,并提高了依赖项。

0.6.0 - 2015-08-21

  • 可用性增强;重写了面向用户的表单,并添加了用户操作以便更容易链接到他们批准的应用程序。

  • 更新依赖项到oauthlib>=1.0.2。

0.5.1 - 2013-11-22

  • 错误修复:纠正了签名验证中对application/x-www-form-urlencoded的处理。[PMR/pmr2.oauth#4]

0.5 - 2013-10-24

  • 更新支持的oauthlib到0.6.0。

  • 设计已被重构,以依赖令牌端点类进行验证。

  • 支持使用URL查询字符串编码的OAuth请求。

  • 在门户中添加新内容类型不再会导致z3c.form-3.0.0在<NO_VALUE>上中断。

  • 更新了大量文本,甚至内部管理端点,使其更加清晰,并反映RFC 5849中使用的术语。

  • 更多可用性修复。现在应通过“网站设置”菜单轻松访问整个管理界面,并且内部管理页面也应链接回主要的OAuth管理页面。

0.4.5 - 2013-07-09

  • 从zope.app.*中删除了过时的导入。

0.4.4 - 2013-04-04

  • URL编码/解码的解决方案,以确保查询参数被正确处理。

  • 错误修复:删除客户端(消费者)不再阻止用户管理他们签发的令牌列表。

  • 依赖于oauthlib 0.4.0。

0.4.3 - 2013-02-01

  • 将支持的最小oauthlib版本锁定为0.3.5,以保持require_callback参数的一致性。

0.4.2 - 2013-01-31

  • 安全修复:正确地将CSRF保护应用于所有表单。

  • 拒绝不存在的令牌将不再显示堆栈跟踪。

注意:由于修复不完整,0.4.1已被中止。

0.4 - 2013-01-22

主要架构更改

  • 删除了python-oauth2并使用oauthlib。PAS OAuthPlugin的重大更改,包括删除所有私有方法,用适配器替换OAuthUtility,几乎所有身份验证和验证函数都移动到该适配器,该适配器扩展了oauthlib服务器类。

  • 范围管理器完全重新定义,以接受任何标识符,可以是客户端(消费者)、临时或访问密钥。具体实现可以据此进行使用。

  • 默认范围管理器不再直接基于正则表达式管理允许的URI,而是基于特定内容类型中的视图和子路径。

  • 消费者密钥现在是随机生成的。为了识别目的,引入了标题和域名字段。域名字段为默认回调管理器验证回调提供了额外的功能。

新功能

  • 引入回调管理器。它管理回调的允许目标,因此资源所有者不会重定向到不受信任的主机,特别是对于oob客户端。

  • 默认范围管理器提供了范围配置文件的概念,这是资源所有者将授予客户端的访问的简明表示。

  • 用于扩展/替换提供的功能的基类。

  • 本插件提供的所有有效端点(视图)索引。

错误(以及可能的修复)

  • 缺少的 permissions.zcml 现已包含。(由 ngi644 注记)

  • 由于新增和修改了太多文本,本版本未包含翻译。

0.3a - 2012-11-23

  • 作用域管理器现在允许 POST 请求。

  • 修正了作用域验证,使其基于解析后的内部脚本 URL。

  • 修正了签名验证方法,使用实际 URL 而不是内部脚本 URL。

  • 解决 python-oauth2 中对旧规范部分的遵守问题。

注意:这是一个针对 PMR2-0.7(或版本 7)开发的特别版本,因为该包现在依赖于一些尚未发布的包。尽管如此,本版本仍然发布,因为它是用于演示目的所需的。

0.2 - 2012-10-16

  • 完成 i18n 覆盖范围并添加了意大利语支持。[giacomos]

  • 添加了中间表单类,以消除在 Plone 和 z3c.form 之间定义包装类以实现兼容性的需求。

0.1 - 2011-10-20

  • 通过使用自定义表单和可插拔身份验证系统,将 OAuth 的核心功能集成到 Zope/Plone 中。

  • 仅包含所有相关数据类型的基存储,但允许扩展。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源分布

pmr2.oauth-0.6.1.tar.gz (72.2 kB 查看散列)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面