robbyahnmsd/silverstripe-mfa

启用带有备用代码的多因素认证

安装: 461

依赖: 1

建议者: 0

安全: 0

星级: 0

关注者: 0

分支: 24

类型:silverstripe-vendormodule

4.x-dev 2023-01-04 00:06 UTC

README

CI Silverstripe supported module

感谢Simon Firesphere Erkelens

此模块基于Simon的开创性工作。它与其原始实现的不同之处在于其使用的可插拔React UI + JSON API架构,以及在CMS内的增强管理UI。您可以在这里找到Simon的原始模块。

需求

  • PHP ^7.1
  • Silverstripe ^4.1
  • defuse/php-encryption ^2.2 和 OpenSSL PHP扩展

安装

使用Composer安装

composer require silverstripe/mfa ^4.0

您还应该安装以下附加的多因素认证器模块之一

设置

在安装此模块和受支持的因子方法模块(例如TOTP)之后,默认的成员认证器将被MFA认证器替换。直到为网站配置了MFA方法,登录步骤将不会发生任何变化。TOTP和WebAuthn模块将自动配置。

安装MFA模块并至少配置了一个方法后,MFA将自动启用。默认情况下,它是可选的(用户可以跳过MFA注册)。您可以通过管理区域的设置选项卡强制执行它。

MFA流程仅应用于具有CMS或管理区域访问权限的成员。有关更多详细信息,请参阅《扩大MFA范围》。

您可以通过设置环境变量BYPASS_MFA=1或在YAML配置中禁用环境中的MFA。有关详细信息,请参阅本地开发

配置自定义方法

如果您已构建自己的MFA方法,您可以通过注册到MethodRegistry来启用它

SilverStripe\MFA\Service\MethodRegistry:
  methods:
    - MyCustomMethod
    - Another\Custom\Method\Here

文档

此模块为MFA提供两个不同的过程;验证和注册。此模块提供了一个解耦的架构,其中前端和后端是分开的。模块附带了一个React应用程序,该应用程序与此模块添加的默认端点进行接口交互。请参阅文档以获取有关包含功能的具体信息

模块开发

在MFA模块中向前端UI添加可翻译内容时,您必须确保将这些翻译推送到Transifex。如果这没有发生,它们将在下一个模块发布时自动删除。有关更多信息,请参阅翻译文档

许可

请参阅许可

版本控制

此库遵循Semver。根据Semver,您将能够升级到此库的任何次要或补丁版本,而不会对公共API造成任何破坏。Semver还要求我们明确定义此库的公共API。

所有具有 public 可见性的方法都是公共API的一部分。所有其他方法都不是公共API的一部分。在可能的情况下,我们会尽量在较小的/补丁版本中保持 protected 方法的向后兼容性,但如果你正在重写方法,请在升级前测试你的工作。

问题报告

请为发现的任何错误或缺失的功能 创建一个问题