PAS插件用于Plone。允许用户通过Velruse使用社交网络登录
项目描述
一个用于Plone的PAS插件,通过使用Velruse 从社交网络验证用户。
简介
此Plone插件允许您在Plone站点中启用社交网络用户的认证,使用Velruse。
Velruse是一个定义明确的Pyramid应用
Velruse是一组认证流程,提供一种统一的方式让网站用户向各种不同的身份提供者或认证方案进行认证。
它在某些方面类似于Janrain Engage,但它是开源的、本地可安装的,并且可以轻松地插入自定义身份提供者和认证方案。
——来自Velruse文档
为什么使用Velruse而不是RPX服务?
Plone生态系统已经至少有一个通用社交认证插件:plonesocial.auth.rpx。但在某些环境中(例如:公共公司或任何需要遵守严格隐私规则的使用案例),此类服务不能使用。
除了隐私问题外,Velruse是开源的,并且可以轻松插入:您可以为Janrain没有涵盖的新服务提供认证提供者。
还可以查看这个Velruse演示文稿了解更多。
如何使用
安装Velruse
Velruse是一个Pyramid应用,因此您必须遵循适当的安装说明,参考Velruse设置指南。
Velruse可以作为独立的Pyramid服务执行,Plone插件需要此配置。它将使用HTTP请求与Velruse通信。
待办事项:最近的Zope版本可以在WSGI堆栈中执行。也许将来版本的插件也会支持这种替代方法?谁知道呢。
安装pas.plugins.velruse
只需将pas.plugins.velruse添加到您的buildout配置中,然后重新运行。
[instance]
recipe = plone.recipe.zope2instance
...
eggs =
...
pas.plugins.velruse
重启Plone后,将“Velruse认证插件”产品添加到您的Plone站点。
配置pas.plugins.velruse
所有配置都通过“Velruse集成设置”配置完成,从Plone控制面板。
一般网站设置
第一个部分用于配置全局控制Plone如何与Velruse通信,以及其他用户界面选项。
- 站点登录启用
如果您想保留标准的Plone站点登录表单或取消启用。
- 认证服务启用
可用的Velruse后端配置列表。请见下文。
- 连接超时
连接到Velruse服务器的超时值。
“认证服务启用”配置由一组三元组组成
- 名称
(可选)远程服务的描述性名称。例如:“Facebook”。
- URL或路径
(必填)运行Velruse服务的URL或路径。请注意:这必须是用户可以访问的公开URL。这不是强制性的,但如果未提供,则登录方法不会显示在登录表单中。
- 图标
(可选)用于回忆服务标志的图标URL或路径。
默认CSS实现为64x64px图像。
上述URL可以是绝对URL(“http://auth.yourservice.com/login/facebook”)或相对于门户根URL的相对URL(使用起始斜杠“/velruse/login/facebook”)。后者有助于您将Plone和Velruse放在Apache后面。
这些信息用于正确配置新的登录表单。
PAS插件配置
其他配置部分与Velruse PAS插件相关。
- Velruse服务器主机
Pyramid Velruse服务的域名。例如:如果Velruse在Plone相同的服务器上运行,则为127.0.0.1:8080。
- Velruse认证信息路径
配置的用于调用 auth_info 的金字塔路由。默认为 /velruse/auth_info。
请注意以下来自官方Velruse文档的警告
URL /auth_info 应被视为敏感信息,并且只有受信任的服务才能访问。如果攻击者拦截了认证令牌,他们可能会查询 /auth_info 并获取用户的全部凭证。
- 用户角色
Velruse插件自动授予执行认证的用户的一组默认角色。默认为“成员”。
此外,您还有两个额外的表单:“用户管理”和“黑名单管理”,用于管理插件内的用户数据。您可以删除数据或将用户添加到 黑名单 中。被列入黑名单的用户将无法再进行认证。
Plone从Velruse读取的数据
目前只有Twitter、Facebook、LinkedIn和Google+被自动配置
来自Twitter:全名、位置、个人主页和头像(无法读取电子邮件)
来自Facebook:全名、电子邮件和头像
来自LinkedIn:全名、电子邮件和头像(必须正确配置LinkedIn API)
来自Google:全名和电子邮件
但是,Velruse支持 许多 其他提供者;如果您想启用更多(这也适用于自定义提供者),您必须配置插件,通过更改配置变量来设置尝试读取的数据。
from pas.plugins.velruse.config import PROPERTY_PROVIDERS_INFO
PROPERTY_PROVIDERS_INFO['yourmagicnewprovider'] = ('fullname', 'email', 'description')
待办事项:这可能在将来发生变化,可能被替换为不希望读取的属性的黑白名单,或者可配置的TTW。
需求
测试过
Plone 3.3
Plone 4.2
Plone 4.3
所有这些都使用Velruse 1.1。
致谢
在 Emilia Romagna Region 的支持下开发;Emilia Romagna Region 支持以下 PloneGov 创新项目。
变更日志
0.1.0a1 (2014-05-14)
初始发布
项目详情
pas.plugins.velruse-0.1.0a1.zip 的散列
| 算法 | 散列摘要 | |
|---|---|---|
| SHA256 | f93d5d1e7e0a2535a7c51e783092f09d6141383319020a4c2bdf8c7b08449a73 |
|
| MD5 | b6c7e117ff6c29c7606f875308973fe7 |
|
| BLAKE2b-256 | 81ba92d731357558b4efc2fb550de10ae344e5ad39b2dffb3616d316de776cd3 |