跳转到主要内容

使用短信发送的登录码在Plone 4中进行两步验证。

项目描述

Plone 4的两步验证,使用通过短信发送的登录码。此应用程序允许用户为其Plone帐户启用两步验证。显然需要一个能够接收短信的手机。除非站点管理员强制执行(可在应用程序控制面板中配置),否则使用两步验证是可选的。管理员可以为跳过两步验证的IP地址创建白名单。

先决条件

  • 能够接收短信的手机。

  • Plone 4(与Plone >= 4.3.1测试过)

限制

注意,两步验证仅适用于Plone用户,不适用于Zope用户(使用“./bin/instance” adduser命令添加的用户)。

用法

情况1:启用两步验证

前提条件:用户未登录Plone网站,尚未启用两步验证,并且拥有手机。

从任何页面,点击菜单中的“启用两步验证”链接(位于“注销”旁边)。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/01_menu_enable.png

如果您尚未填写手机号码,将被要求填写。您将立即收到包含确认码的短信。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/02_setup_mobile_number.png

完成操作后,您将进入一个页面,要求您输入通过短信接收的代码。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/03_confirm_mobile_number_and_complete_two_step_verification_setup.png

输入“输入验证码以激活两步验证”字段中显示的秘密代码进行确认,然后按“验证”按钮。

在成功确认后(您应该会看到一条消息),您的账户已启用两步验证。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/04_enable_two_step_verification_confirmation_message.png

情况2:两步验证

前提条件:用户未登录并且已启用两步验证。

当您登录Plone网站(仅使用用户名和密码)时,您将看到一个额外的屏幕,要求您提供通过短信发送给您的登录代码。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/05_login_code_form.png

然后,您应该检查您的手机以获取新的短信消息,并将显示在“输入代码”字段中的令牌输入。

如果令牌有效,您将成功登录。

情况3:丢失手机或手机号码

前提条件:用户未登录并且已启用两步验证。

可能存在您丢失手机的情况(无论是真的丢失了,还是意外损坏,或者以某种方式丢失了旧手机号码的所有权)。对于此类情况,您可以重置手机号码。

使用用户名和密码登录Plone网站,以查看要求您提供通过短信发送的登录代码的额外屏幕,并按照“输入代码”字段的帮助文本中的链接操作。然后,您将进入一个页面,您可以在其中请求重置手机号码。

在“用户名”和“手机号码”字段中分别输入您的用户名和手机号码,然后按“提交”按钮。重置手机号码的链接将很快出现在您的邮箱中。点击重置手机号码的链接后,您将进入一个页面,您可以在其中输入验证代码。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/06_request_to_reset_mobile_number.png

您将很快收到包含验证码的短信。在“输入验证码以激活两步验证”字段中输入代码。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/07_confirm_mobile_number_reset.png

在成功确认后(您应该会看到一条消息),您的手机号码已重置。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/08_mobile_number_reset_confirmation_message.png

情况4:禁用两步验证

前提条件:用户已登录并且已启用两步验证。

从任何页面,点击菜单中的“禁用两步验证”链接(位于“注销”旁边)。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/09_menu_disable.png

之后,您会收到一条消息。

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/10_disable_two_step_verification_confirmation_message.png

安装

Buildout

>>> [instance]
>>> eggs +=
>>>     collective.smsauthenticator
>>> zcml +=
>>>     collective.smsauthenticator

ZMI

ZMI -> portal_quickinstaller

选择“SMS Authenticator Plone”并安装它。

ZMI -> acl_users

  1. 选择“sms_auth(SMS Authenticator插件(collective.smsauthenticator))”。

  2. 请确保“身份验证”的“活动插件”部分按以下顺序包含以下插件(“sms_auth”应作为第一个插件 - 临界!)

    • sms_auth

    • session

    • source_users

配置选项

应用程序控制面板可以通过http://your-plone-site.com/@@sms-authenticator-settings访问

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/11_control_panel_tab_main.png

全局启用

如果选中,则全局强制启用所有网站用户的两步验证,并且他们不再有禁用它的选项;这也适用于所有新用户(刚刚注册的账户)。

白名单IP地址

白名单IP地址列表 - 每行一个。如果用户来自这些地址之一,则即使用户已启用两步验证或全局启用两步验证,也将跳过两步验证。

额外

控制面板的附加选项包括

  • 为所有用户启用两步验证。

  • 为所有用户禁用两步验证。

Twilio

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/12_control_panel_tab_twilio.png

Twilio号码

您的Twilio AccountSID和AuthToken。访问您的Twilio账户电话号码页面并检查管理号码部分。

Twilio AccountSID和Twilio AuthToken

您的Twilio AccountSID和AuthToken。访问您的Twilio账户设置页面并检查API凭证部分。

安全

https://github.com/collective/collective.smsauthenticator/raw/master/docs/_static/13_control_panel_tab_security.png

密钥

站点密钥 - 可以是任何字符串。将其视为某种密码。

令牌有效期

登录码和手机号重置码的有效期。默认为5分钟(300秒)。

注意

确保在ZMI -> acl_users -> 认证中首先使用SMS Authenticator。

与以下产品结合测试

  • Products.LoginLockout。将SMSAuthenticator作为第一个,LoginLockout作为第二个。一切正常。

文档

请参阅以下文档

支持

对于功能请求或错误,请打开一个问题。对于问题,请发送电子邮件至info@gw20e.com

许可证

GPL 2.0

TODOs和路线图

请参阅TODOS.rst文件以获取TODO列表。

变更日志

0.3.5 (未发布)

0.3.4 (2018-03-16)

  • 添加了对Messagebird SMS网关提供商的支持。目前,相当硬编码,可以使其更具可插拔性。[JJM]

0.3.3 (2017-03-10)

  • 在登录表单控制器脚本中使用正确的memberdata属性。(这曾在Plone 4.3.9门户上工作,但在4.3.11上破坏了登录过程)[fRiSi]

0.3.2 (2016-05-25)

  • 将新用户的enable_two_step_verification默认值设置为注册设置ISMSAuthenticatorSettings.globally_enabled(见问题#15)[pcdummy, fRiSi]

  • 扩展卸载功能,以正确删除持久对象[puittenbroek]

  • 更好的错误日志[puittenbroek]

  • 在进行POST操作时不注销用户[puittenbroek]

  • 允许管理员更改用户个人资料中的字段[puittenbroek]

  • 为排除在双因素之外的用户的白名单添加[puittenbroek]

  • 使用较新的Twilio api版本(=> 5.4.0)以查看已投递状态[puittenbroek]

  • pep8某些文件[puittenbroek]

  • 如果实际更改了,则仅启用所有用户的双因素[puittenbroek]

  • 登录时始终发送(新的!)代码[puittenbroek]

0.3.1 (2015-02-12)

  • 清理产品卸载(包括PAS插件)[barseghyanartur]

  • 软化依赖性。

0.3.0 (2014-10-06)

  • 在短信消息在途中丢失的情况下,允许重新发送令牌[barseghyanartur]

0.2.9 (2014-10-03)

0.2.8 (2014-07-07)

  • 使用source_users IAutheticationPlugin进行密码检查以防止递归循环[puittenbroek]

  • 改进返回值,在我们的pas插件[puittenbroek]中我们始终返回None。

  • 添加“enableAutoFocus”表单以启用自动对焦。[puittenbroek]

0.2.7 (2014-06-20)

  • 将用户直接引导到“重置已发送电子邮件”页面,而不是登录表单。[puittenbroek]

  • 改进/更改一些帮助文本。[puittenbroek]

0.2.6 (2014-06-19)

  • 改进了帮助文本。[barseghyanartur]

0.2.5 (2014-06-18)

  • 添加管理员辅助视图,用于查看用户登录时使用的IP地址。

    [barseghyanartur]

0.2.4 (2014-05-08)

  • 将短信令牌的字符数从6个增加到8个。[barseghyanartur]

0.2.3 (2014-03-20)

  • 修复和改进的数量。[barseghyanartur]

  • 翻译修复。[barseghyanartur]

0.2.2 (2014-03-10)

  • 修复了在移动号码(重新)设置时丢失的Plone信息状态消息。[barseghyanartur]

0.2.1 (2014-03-10)

  • 在移动号码(重新)设置时提供更好的成功消息。[barseghyanartur]

0.2 (2014-03-10)

  • 在第一次登录时取消一个额外的步骤。相反,在确认移动号码后登录用户。[barseghyanartur]

  • 在第一次设置移动号码时填写用户名,因为那时它已经知道了。[barseghyanartur]

0.1 (2014-02-28)

  • 初始发布,包含双因素验证、IP白名单、可配置的登录代码有效期、移动号码恢复和应用程序控制面板。[barseghyanartur]

项目详情


下载文件

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

源代码发行版

collective.smsauthenticator-0.3.4.tar.gz (47.5 kB 查看散列)

上传时间 源代码

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误记录 StatusPageStatusPage 状态页面