supseven/webauthn
Composer 安装命令:
composer require supseven/webauthn
包简介
Webauthn provider for MFA login in TYPO3 v11+
README 文档
README
This is a TYPO3 CMS extension to provide Webauthn support for multi-factor-authentication in the backend. It is compatible with every browser and device supporting the Webauthn specification. When using a Chromium based browser, Firefox or Safari, those include hardware dongles/keys, Android smartphones as well as Webauthn compatible system authentications like Windows Hello, using biometric data like fingerprints, and/or Active Directory.
Installation
If the setup uses TYPO3 v11.5+, use composer to add the extension as a dependency:
composer require supseven/webauthn
Older TYPO3 versions are not supported.
Configuration
All the following configuration settings are optional. Available options as well as their default values, if not explicitly set, are listed below.
Base setup
To set webauthn as the default MFA method, add this line to the TYPO3 setup, eg. in the AdditionalConfiguration.php file:
$GLOBALS['TYPO3_CONF_VARS']['BE']['recommendedMfaProvider'] = 'webauthn';
Other providers still work, webauthn does not interfere with any of them.
Extension configuration
The following configuration values in the $GLOBALS['TYPO3_CONF_VARS']
array are available (all optional!). If they are actually used or displayed
depends on the webauthn device being used, eg.: a simple security key cannot
show the name or icon.
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['webauthn']['name']: String
with the name of the TYPO3 installation. Defaults to to the value of
$GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'] if not set explicitly.
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['webauthn']['id']: String
with the ID of the app. Must be a domain name. If none given, the browser will
use the domain used during device registration. Should be set to the "main"
or "primary" domain if the TYPO3 backend is available under several domains.
Otherwise a registered device can only be used under the domain it was
registered with.
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['webauthn']['icon']: String
with a path to an icon. If none is set, webauthn will try the value of the
setting $GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']['backend']['loginLogo'].
No icon will be used if neither settings are set.
If the icon is actually displayed, depends on the device capabilities, eg.:
a dongle without a display cannot show it, a smartphone might.
User configuration
The actual setup is done in the "User Settings" module, for each backend user individually.
If a user has a "real name" in the be_user record, this name will be displayed, otherwise the "username" will be used.
Alternatives
Extension mfa_webauthn also provides
webauthn support for MFA. The main difference is that EXT:mfa_webauthn
offers a more guided UI at the expense of less supported devices. This
extensions offers more freedom in choice of devices, but may confuse less
experienced users with its options.
As always: in case of doubt, just try them both and choose the one that best matches your requirements.
Legal
License
The software is licensed under the GPLv2 or, at your options, a later version of this license. See LICENSE or https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
Mentions
The icon is the official webauthn icon, provided by the bootstrap icons project which uses the MIT license. See https://github.com/twbs/icons/blob/main/LICENSE.md for details.
Uses the webauth-lib library licensed under the MIT license, see https://github.com/web-auth/webauthn-lib for details.
The client JS uses the simlewebauthn/browser library licensed under the MIT license, see https://github.com/web-auth/webauthn-lib for details.
supseven/webauthn 适用场景与选型建议
supseven/webauthn 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.73k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2022 年 12 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 supseven/webauthn 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 supseven/webauthn 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 3.73k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2022-12-13