Typo3 具有多个步骤的后端登录身份验证服务

Typo3 Backend Login auth service with multiple steps

我正在尝试为 typo3 后端 实施 2 因素登录,以通过移动应用程序/Api 进行身份验证。
我在 ext_tables.php 中尝试了一个带有 getUser 和 authUser 覆盖的身份验证服务以及我自己的登录模板,它只与登录表单一起工作。
但是,我需要多个视图/步骤:

  1. 带有 App-UserID 和提交按钮的表单
  2. Accesspass 和提交按钮

我试图用

显示 2. 视图
GeneralUtility::makeInstance('TYPO3\CMS\Fluid\View\StandaloneView'); 

在 authUser 函数中,但我正在寻找更简洁的(可能 MVC/extbase?)方法或最佳实践。
如何实现两步后端登录并在这些视图之间传递变量?

我认为这是不可能的。 TYPO3 按照每个服务的优先级顺序检查所有已安装的 Auth-Services。没有意义,您可以挂接到该进程并停止身份验证进程以显示表单。

我建议在您的自定义 TYPO3 后端登录模板中实现 accesspass 字段,这样您就有 3 个用于登录过程的字段。您可以拆分不同身份验证服务中字段的评估(按您需要的优先级排序)。有关工作示例,请参阅我的 YubiKey TYPO3 extension,它首先通过 username/password(TYPO3 默认身份验证)然后通过 YubiKey OTP 对 TYPO3 后端用户进行身份验证。