使用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>
OAuth 1.0A提供程序
比特桶、flickr、meetup、plurk、twitter、tumblr、ubuntuone、vimeo、xero、xing和yahoo。
OAuth 2.0提供程序
> Amazon,Behans,Bisty,Casm,DeavangTART,EnvirBITE,脸谱网,Foursquare,Github,谷歌,LinkedIn,PayPal,ReDDIT,ViADo,VK,WielsSLiver,YAMER和YANDEX。< /DD>
打开id
基于python openid和google app engine的openid。

文档

  • 这个包将创建一个名为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", 。 查看每个提供程序的文档,其中包含可用的属性。

许可证

该项目是根据GPLV2授权的。

贡献者

更改日志

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)

  • 初始版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带有字符串的java JNA调用与带有字节[]的java JNA调用的行为不同   java基于键列表获取子映射   重启后永久增加java堆大小?   JavaHTTPS服务器:相互SSL身份验证   java为什么接受接口的方法会拒绝该接口的实现?   片段中的java视图无法应用于()   ms access Java SQL更新命令不工作   java将web服务自动打包和部署到Oracle Application Server 10g   java有没有办法在安卓 studio中为安卓时钟设置多个警报?   位于FTP服务器上的文件上的Java校验和md5   在Java中创建类时遇到问题。有些方法不太确定   java错误:在类chrome\u驱动程序中找不到主方法   通用海图(Javascript\Java)