bnf / mfa-webauthn
TYPO3 多因素认证的 WebAuthn 提供商
1.2.4
2024-02-26 07:42 UTC
Requires
- php: ^8.1
- typo3/cms-core: ^11.2 || ^12.0 || ~13.0.0
- web-auth/webauthn-lib: ^4.5
Requires (Dev)
- phpstan/phpstan: ^1.8
README
此 TYPO3 扩展集成了 TYPO3 多因素认证 (MFA) API,通过使用 WebAuthn 标准 添加认证器。它支持 FIDO2/U2F 硬件令牌和内部认证器(例如 Android 屏幕锁定或 Windows Hello)作为认证过程中的第二因素。
安装
composer require bnf/mfa-webauthn
先决条件和限制
WebAuthn API 存在一些由设计驱动引起的限制。为了防止凭据欺骗,认证仅保留在安全环境中,因此 WebAuthn 凭据额外绑定到域名。
这给此提供者的使用带来了以下限制
- 需要有效的 SSL 证书或 localhost 环境(因此请使用
http://{myproject}.localhost
作为本地开发 URL) - 仅适用于一个域名,多域名站点需要将 TYPO3 后端重定向到确切的一个域名,或者应使用替代的多因素认证提供者。
在生产和预发布环境中使用 WebAuthn 提供者
仍然可以在生产和预发布环境中使用 WebAuthn,但需要一些手动步骤
- 在生产环境中创建安全令牌。
- 在 production 中创建恢复码或注册基于时间的单次密码 (TOTP)。
- 从生产环境同步 `be_user' 表到预发布环境。
- 使用恢复码或 TOTP 登录到预发布环境。
- 在预发布环境中创建安全令牌。
- 将用户的 `be_users.mfa' 数据库字段同步回生产。
- 可选:在 production 中重新生成恢复码以获得全新的令牌集。
替代扩展
如果对后端域的限制过于限制,请考虑使用 mfa_yubikey 或 mfa_hotp。注意,这两个提供者比 webauthn 安全性低,因为用户可以被伪造的域名欺骗,但它们更灵活,并且都允许在多域名设置中使用硬件令牌。(mfa_hotp
旨在用于软件 HOTP 认证器,但 HOTP 密码也可以烧录到廉价的 HOTP 硬件令牌。)