[FEATURE] Reset password for backend users
This feature adds a link on TYPO3 Backend's login form to reset a backend users' password if the user has forgotten the password. Key changes: * Only enabled for backend users with an email address and a password set * Enabled by default but can be disabled completely * Optionally only works for non-admins via TYPO3_CONF_VARS * Only send out emails to users within the system, but no information disclosure * If multiple valid users have the same email address, a different email is sent out * TCA be_users.email is not set to eval=email (due to backwards-compatibility) * Password resets are only valid for 2 hours (non-configurable) * Not extensible for third-party authentication methods yet * Rate limiting is enabled per email address for 3 attempts per 30mins (non-configurable) * When logging in, all previous tokens are removed * When requesting multiple resets, only the last email is valid * A CLI command "backend:resetpassword $backendUrl $emailAddress" sends out an email as well from admins * Admins can trigger a password reset for users in the BE User module Resolves: #89513 Releases: master Change-Id: I9a146d5a9db176d24f2223c5eafb0fb42861e93f Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63385 Tested-by:Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
Showing
- typo3/sysext/backend/Classes/Authentication/PasswordReset.php 492 additions, 0 deletions...3/sysext/backend/Classes/Authentication/PasswordReset.php
- typo3/sysext/backend/Classes/Command/ResetPasswordCommand.php 147 additions, 0 deletions...3/sysext/backend/Classes/Command/ResetPasswordCommand.php
- typo3/sysext/backend/Classes/Controller/LoginController.php 123 additions, 9 deletionstypo3/sysext/backend/Classes/Controller/LoginController.php
- typo3/sysext/backend/Classes/LoginProvider/UsernamePasswordLoginProvider.php 3 additions, 0 deletions...d/Classes/LoginProvider/UsernamePasswordLoginProvider.php
- typo3/sysext/backend/Classes/Middleware/BackendUserAuthenticator.php 4 additions, 0 deletions...t/backend/Classes/Middleware/BackendUserAuthenticator.php
- typo3/sysext/backend/Configuration/Backend/Routes.php 22 additions, 0 deletionstypo3/sysext/backend/Configuration/Backend/Routes.php
- typo3/sysext/backend/Configuration/Services.yaml 4 additions, 0 deletionstypo3/sysext/backend/Configuration/Services.yaml
- typo3/sysext/backend/Resources/Private/Language/locallang.xlf 3 additions, 0 deletions...3/sysext/backend/Resources/Private/Language/locallang.xlf
- typo3/sysext/backend/Resources/Private/Language/locallang_reset_password.xlf 59 additions, 0 deletions...d/Resources/Private/Language/locallang_reset_password.xlf
- typo3/sysext/backend/Resources/Private/Layouts/Login.html 6 additions, 0 deletionstypo3/sysext/backend/Resources/Private/Layouts/Login.html
- typo3/sysext/backend/Resources/Private/Templates/Email/PasswordReset/AmbiguousResetRequested.html 12 additions, 0 deletions...emplates/Email/PasswordReset/AmbiguousResetRequested.html
- typo3/sysext/backend/Resources/Private/Templates/Email/PasswordReset/AmbiguousResetRequested.txt 13 additions, 0 deletions...Templates/Email/PasswordReset/AmbiguousResetRequested.txt
- typo3/sysext/backend/Resources/Private/Templates/Email/PasswordReset/ResetRequested.html 12 additions, 0 deletions...Private/Templates/Email/PasswordReset/ResetRequested.html
- typo3/sysext/backend/Resources/Private/Templates/Email/PasswordReset/ResetRequested.txt 15 additions, 0 deletions.../Private/Templates/Email/PasswordReset/ResetRequested.txt
- typo3/sysext/backend/Resources/Private/Templates/Login/ForgetPasswordForm.html 47 additions, 0 deletions...Resources/Private/Templates/Login/ForgetPasswordForm.html
- typo3/sysext/backend/Resources/Private/Templates/Login/ResetPasswordForm.html 53 additions, 0 deletions.../Resources/Private/Templates/Login/ResetPasswordForm.html
- typo3/sysext/backend/Resources/Private/Templates/UserPassLoginForm.html 11 additions, 0 deletions...ackend/Resources/Private/Templates/UserPassLoginForm.html
- typo3/sysext/backend/Tests/Functional/Authentication/Fixtures/be_users.xml 86 additions, 0 deletions...end/Tests/Functional/Authentication/Fixtures/be_users.xml
- typo3/sysext/backend/Tests/Functional/Authentication/Fixtures/be_users_only_admins.xml 87 additions, 0 deletions...nctional/Authentication/Fixtures/be_users_only_admins.xml
- typo3/sysext/backend/Tests/Functional/Authentication/PasswordResetTest.php 155 additions, 0 deletions...end/Tests/Functional/Authentication/PasswordResetTest.php
Please register or sign in to comment