[FEATURE] Introduce MFA in Core
A new API is introduced, providing multi-factor authentication for the Core. The API is furthermore directly used to add two MFA providers by default: * TOTP (time-based one-time passwords) * Recovery codes Even if the API is designed to allow MFA in both, backend and frontend, it is currently only implemented into the backend. Users can therefore configure their available MFA providers in a new backend module, accessible via their user settings. There are also some configuration options for administrators to e.g. define a recommended provider or to disallow available providers for specific users or user groups. Administration of the users' MFA providers is possible for administrators in the corresponding user records. New providers can be introduced by implementing the MfaProviderInterface and tagging the service with the `mfa.provider` tag. Note that the API is currently marked as internal since changes in upcoming patches are to be expected. Following dependencies are introduced: * bacon/bacon-qr-code "^2.0" * christian-riesen/base32 "^1.5" Possible features that could follow later-on: * MFA frontend integration * Webauthn core provider for FIDO2 and U2F. * Forcing users to set up MFA on login * Password-recovery with active MFA Resolves: #93526 Releases: master Change-Id: I4e902be624c80295c9c0c3286c90a6a680feeb5d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/67548 Reviewed-by:Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Tested-by:
Benni Mack <benni@typo3.org>
Showing
- Build/Sources/TypeScript/backend/Resources/Public/TypeScript/FormEngine/Element/MfaInfoElement.ts 167 additions, 0 deletions...es/Public/TypeScript/FormEngine/Element/MfaInfoElement.ts
- Build/Sources/TypeScript/backend/Resources/Public/TypeScript/Viewport.ts 3 additions, 1 deletion...ypeScript/backend/Resources/Public/TypeScript/Viewport.ts
- composer.json 2 additions, 0 deletionscomposer.json
- composer.lock 160 additions, 1 deletioncomposer.lock
- typo3/sysext/backend/Classes/Controller/AbstractMfaController.php 128 additions, 0 deletions...sext/backend/Classes/Controller/AbstractMfaController.php
- typo3/sysext/backend/Classes/Controller/ContentElement/ElementInformationController.php 5 additions, 0 deletions...ontroller/ContentElement/ElementInformationController.php
- typo3/sysext/backend/Classes/Controller/MfaAjaxController.php 203 additions, 0 deletions...3/sysext/backend/Classes/Controller/MfaAjaxController.php
- typo3/sysext/backend/Classes/Controller/MfaConfigurationController.php 432 additions, 0 deletions...backend/Classes/Controller/MfaConfigurationController.php
- typo3/sysext/backend/Classes/Controller/MfaController.php 201 additions, 0 deletionstypo3/sysext/backend/Classes/Controller/MfaController.php
- typo3/sysext/backend/Classes/Form/Element/MfaInfoElement.php 181 additions, 0 deletionstypo3/sysext/backend/Classes/Form/Element/MfaInfoElement.php
- typo3/sysext/backend/Classes/Form/NodeFactory.php 1 addition, 0 deletionstypo3/sysext/backend/Classes/Form/NodeFactory.php
- typo3/sysext/backend/Classes/Middleware/BackendUserAuthenticator.php 36 additions, 1 deletion...t/backend/Classes/Middleware/BackendUserAuthenticator.php
- typo3/sysext/backend/Classes/ViewHelpers/Mfa/IfHasStateViewHelper.php 47 additions, 0 deletions.../backend/Classes/ViewHelpers/Mfa/IfHasStateViewHelper.php
- typo3/sysext/backend/Configuration/Backend/AjaxRoutes.php 6 additions, 0 deletionstypo3/sysext/backend/Configuration/Backend/AjaxRoutes.php
- typo3/sysext/backend/Configuration/Backend/Routes.php 12 additions, 0 deletionstypo3/sysext/backend/Configuration/Backend/Routes.php
- typo3/sysext/backend/Configuration/Services.yaml 9 additions, 0 deletionstypo3/sysext/backend/Configuration/Services.yaml
- typo3/sysext/backend/Resources/Private/Language/locallang_mfa.xlf 170 additions, 0 deletions...sext/backend/Resources/Private/Language/locallang_mfa.xlf
- typo3/sysext/backend/Resources/Private/Templates/Mfa/Auth.html 69 additions, 0 deletions.../sysext/backend/Resources/Private/Templates/Mfa/Auth.html
- typo3/sysext/backend/Resources/Private/Templates/Mfa/Edit.html 48 additions, 0 deletions.../sysext/backend/Resources/Private/Templates/Mfa/Edit.html
- typo3/sysext/backend/Resources/Private/Templates/Mfa/Overview.html 100 additions, 0 deletions...ext/backend/Resources/Private/Templates/Mfa/Overview.html
Please register or sign in to comment