Skip to content

Commit 8496ce9

Browse files
authored
Merge pull request #59060 from nextcloud/backport/59013/stable30
2 parents 86e1e7c + 9ff8e11 commit 8496ce9

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

apps/user_ldap/lib/Controller/RenewPasswordController.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
namespace OCA\User_LDAP\Controller;
88

99
use OCP\AppFramework\Controller;
10+
use OCP\AppFramework\Http\Attribute\BruteForceProtection;
1011
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
1112
use OCP\AppFramework\Http\Attribute\OpenAPI;
1213
use OCP\AppFramework\Http\Attribute\PublicPage;
@@ -112,17 +113,20 @@ public function showRenewPasswordForm($user) {
112113
*/
113114
#[PublicPage]
114115
#[UseSession]
116+
#[BruteForceProtection(action: 'login')]
115117
public function tryRenewPassword($user, $oldPassword, $newPassword) {
116118
if ($this->config->getUserValue($user, 'user_ldap', 'needsPasswordReset') !== 'true') {
117119
return new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm'));
118120
}
119-
$args = !is_null($user) ? ['user' => $user] : [];
121+
$args = ['user' => $user];
120122
$loginResult = $this->userManager->checkPassword($user, $oldPassword);
121123
if ($loginResult === false) {
122124
$this->session->set('renewPasswordMessages', [
123125
['invalidpassword'], []
124126
]);
125-
return new RedirectResponse($this->urlGenerator->linkToRoute('user_ldap.renewPassword.showRenewPasswordForm', $args));
127+
$response = new RedirectResponse($this->urlGenerator->linkToRoute('user_ldap.renewPassword.showRenewPasswordForm', $args));
128+
$response->throttle(['user' => $user]);
129+
return $response;
126130
}
127131

128132
try {

0 commit comments

Comments
 (0)