born05/craft-twofactorauthentication

Craft 4 插件,用于使用基于时间的OTP(一次性密码)进行两步或两步登录。


README

Two-Factor Authentication

两因素认证

Craft 4 插件,用于使用基于时间的OTP(TOTP,如Google Authenticator)进行两因素或两步登录。每个用户都可以自行设置TOTP,插件不会强制用户这样做。管理员可以在用户表中列出使用情况。

内部工作原理

对于没有两因素认证的用户,登录工作正常。

启用后,用户在登录后将重定向到两因素验证页面。这意味着用户已经登录。当用户尝试在验证之前访问其他控制面板页面而不是公开页面时,将触发注销。这阻止了用户访问未经验证的控制面板。

要求

  • Craft 4.0.0 及以上
  • PHP 8.1 及以上

设置后端2FA

  • 在配置文件中将 verifyBackEnd 设置为 true(这是默认值)。
  • 如果想要防止用户在没有首先启用2FA的情况下访问控制面板,请将 forceBackEnd 设置为 true

设置前端2FA

当使用前端用户的登录时,以下步骤添加2FA支持。

  • two-factor-authentication.php 文件复制到您的 config/ 文件夹。
  • 在配置文件中将 verifyFrontEnd 设置为 true
  • 定义应该使用2FA验证保护哪些URL。选择使用 frontEndPathAllowfrontEndPathExclude!同时使用这两个选项将阻止所有内容!请参阅配置文件以获取更多信息。
  • 构建一个可通过URL访问的2FA登录验证表单,例如 示例 twig
  • 设置 verifyPath。对于我们的 login-verify.twig 示例,路径将是 login-verify
  • 允许用户通过构建如 示例 twig 之类的模板在前端设置2FA。
  • 设置 settingsPath。对于我们的 two-factor-settings.twig 示例,路径将是 two-factor-settings

设置配置

two-factor-authentication.php 文件复制到您的 config/ 文件夹。

重置用户的2FA

只需删除用户的 twofactorauthentication_user 记录即可。这将禁用该用户的两因素认证。

屏幕

开启2FA时的设置屏幕

Setting screen when turning 2FA on

关闭2FA时的设置屏幕

Setting screen when turning 2FA off

登录验证屏幕

Login verification screen

许可证

版权所有 © Born05

查看 许可证