使用authomatic为plone提供oauth2/openid登录。
pas.plugins.authomatic的Python项目详细描述
通过在plone中集成authomatic,使用oauth2/openid登录
pas.plugins.authomatic
功能
为plone提供oauth2和openid登录功能:
它在plone中集成了awesome authomatic 包 < Buff行情>
authomatic是一个框架不可知的库 对于python web应用程序 具有极简但功能强大的界面 简化了用户身份验证 由Facebook或Twitter等第三方提供商提供 通过OAuth和OpenID等标准。
作者Peter Hudec在Authomatic网站上
它具有现成的支持:
< DL>文档
这个包将创建一个名为authomatic handler的视图,您可以在其中使用不同的提供者登录。
该视图还可用于将提供商的身份添加到现有帐户中
提供者是在url中选择的,因此如果您调用authomatic handler/provider,您将使用provider登录。
您可以在"控制面板"中设置插件的JSON配置
json配置示例(第一级密钥是提供者:
{ "github": { "display": { "title": "Github", "cssclasses": { "button": "plone-btn plone-btn-default", "icon": "glypicon glyphicon-github" }, "as_form": false }, "propertymap": { "email": "email", "link": "home_page", "location": "location", "name": "fullname" }, "class_": "authomatic.providers.oauth2.GitHub", "consumer_key": "5c4901d141e736f114a7", "consumer_secret": "d4692ca3c0ab6cc1f8b28d3ccb1ea15b61e7ef5c", "access_headers": { "User-Agent": "Plone Authomatic Plugin" } }, }
安装
通过将pas.plugins.authomatic添加到构建中来安装它:
[buildout] ... eggs = pas.plugins.authomatic
然后运行"bin/buildout"。
启动Plone并激活"插件"控制面板中的插件。
转到Authomatic控制面板(安全部分)并配置插件。
不同授权的配置参数在其中以json文本的形式提供。 使用json是因为灵活性。 有关详细信息,请访问Authomatics Provider部分
在配置上有一些不同:
- "类"的值必须是一个字符串,然后将其解析为一个点路径。
-
每个提供者都可以获得一个可选条目
display
和子条目,例如:
- 标题 用于模板而不是节名。
- iconclasses 它应用于一个跨度的模板中。
- 按钮分类 在模板中应用于按钮。 <李> 作为表单 (true/false)为OpenID提供程序呈现表单。
- 每个提供者都可以获得一个可选的条目 propertymap 。 它是从authomatic/provider用户属性到plone用户属性的映射,比如 "fullname":"name", 。 查看每个提供程序的文档,其中包含可用的属性。
源代码和贡献
如果您想帮助开发(改进、更新、修复错误,…)pas.plugins.authomatic,这是个好主意!
- Github的源代码
- github上的问题跟踪器
您可以克隆它,也可以访问github collective并直接处理项目。 请对分支进行更大的更改并提交拉取请求。
pas.plugins.authomatic的维护者是jens klein。 我们感谢您的贡献,如果需要在pypi上发布,请与我们联系。
开发
- 扑通一声4: $ 引导程序-4.3.x.sh
- 扑通一声5: $ bootstrap-5.0.x.sh
许可证
该项目是根据GPLV2授权的。
贡献者
- jens klein, jens @ bluedynamics com
- Matthias Dollfuss, Matthias Dollfuss @ gmail com
- 郦rico andrei
- 卢卡·法布里,卢卡·法布里
更改日志
1.0b1(2017-11-20)
- 优雅的登录模式。 [詹森]
- 修复33"页不存在控件设置。 [詹森]
- Fix 31:链接已断开到帮助文本中的JSON配置文档。 [詹森]
- 修复程序28:卸载后plone.external登录url仍然注册,登录失败。 [詹森]
- 支持PLONE5.1测试(工作,UST控制面板图标需要一些调整)。 添加了5.1的构建配置。 [詹森]
- 安装:在安装窗体中隐藏无效配置文件。 [詹森]
- 附加检查,以确保从不存储空/无密钥。 [詹森]
- 修正27:登录后更新用户数据。 [詹森]
- 修复枚举用户插件中的筛选器用户错误,该插件始终返回 所有用户。 [sneridagh]
- 修复登录消息[Tkimnguyen]的输入错误和措辞
1.0A7(2016-02-15)
- 非用户的解决方案。 [sneridagh]
1.0A6(2016-01-11)
- Fix 21:当您注销然后再次登录时,将创建一个新用户。 [詹森]
1.0A5(2015-12-04)
- 修复:18"provider login"选项"generator for plone user id"似乎 破碎的 [詹森]
- 修复:title指示是否添加了标识 [詹森]
- 修正:正确使用plone.protect [詹森]
1.0A4(2015-11-20)
- 增加德语翻译 [詹森]
- 恢复了plone 4的兼容性 [Keul]
- 增加了意大利语翻译 [Keul]
- 正确卸载 [Keul]
1.0A3(2015-11-15)
- 重构authomatic处理程序以启用添加标识。 [詹森]
- 修正:使用设置中的机密作为authomatic的机密。 [詹森]
- 将视图"authomatic登录"重命名为"authomatic处理程序",因为 视图也将用于添加标识(必须在提供程序上注册URL 有时候我们只想做一次。 [詹森]
1.0A2(2015-11-14)
- json的最小验证。 [詹森]
- 如果在登录时调用,请记住整个过程a safewrite 查看。由于重定向和 需要返回URL。 [詹森]
- 允许选择用户ID生成器策略。 [詹森]
- 允许一个用户使用多个服务。这在幕后改变了很多。 [詹森]
- 使用authomatic.core.user属性而不是原始提供程序数据。关闭 9 [埃里科夫]
1.0A1(2015-10-28)
- 初始版本。