robbyahnmsd / silverstripe-mfa
启用带有备用代码的多因素认证
Requires
- php: ^7.4 || ^8.0
- defuse/php-encryption: ^2.2
- silverstripe/admin: ^1.1
- silverstripe/framework: ^4.10
- silverstripe/login-forms: ^4.0
- silverstripe/security-extensions: ^4.0
- silverstripe/siteconfig: ^4.1
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.0
Suggests
- silverstripe/totp-authenticator: Adds a method to authenticate with you phone using a time-based one-time password.
- silverstripe/webauthn-authenticator: Adds a method to authenticate with security keys or built-in platform authenticators.
Conflicts
- silverstripe/subsites: <2.2.2 || 2.3.0
- silverstripe/webauthn-authenticator: <4.5.0
This package is auto-updated.
Last update: 2024-09-20 02:05:12 UTC
README
感谢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
方法的向后兼容性,但如果你正在重写方法,请在升级前测试你的工作。
问题报告
请为发现的任何错误或缺失的功能 创建一个问题。