login_emailusername_issues_3276966_#12.patch 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. diff --git a/src/Controller/LoginEmailUsernameUserAuthenticationController.php b/src/Controller/LoginEmailUsernameUserAuthenticationController.php
  2. index 7c3ac4f..0e6f04e 100644
  3. --- a/src/Controller/LoginEmailUsernameUserAuthenticationController.php
  4. +++ b/src/Controller/LoginEmailUsernameUserAuthenticationController.php
  5. @@ -47,7 +47,11 @@ class LoginEmailUsernameUserAuthenticationController extends UserAuthenticationC
  6. }
  7. if ($uid = $this->userAuth->authenticate($credentials['name'], $credentials['pass'])) {
  8. - $this->flood->clear('user.http_login', $this->getLoginFloodIdentifier($request, $credentials['name']));
  9. + if (property_exists($this, 'userFloodControl')) {
  10. + $this->userFloodControl->clear('user.http_login', $this->getLoginFloodIdentifier($request, $credentials['name']));
  11. + } else {
  12. + $this->flood->clear('user.http_login', $this->getLoginFloodIdentifier($request, $credentials['name']));
  13. + }
  14. /** @var \Drupal\user\UserInterface $user */
  15. $user = $this->userStorage->load($uid);
  16. $this->userLoginFinalize($user);
  17. @@ -78,10 +82,18 @@ class LoginEmailUsernameUserAuthenticationController extends UserAuthenticationC
  18. $flood_config = $this->config('user.flood');
  19. if ($identifier = $this->getLoginFloodIdentifier($request, $credentials['name'])) {
  20. - $this->flood->register('user.http_login', $flood_config->get('user_window'), $identifier);
  21. + if (property_exists($this, 'userFloodControl')) {
  22. + $this->userFloodControl->register('user.http_login', $flood_config->get('user_window'), $identifier);
  23. + } else {
  24. + $this->flood->register('user.http_login', $flood_config->get('user_window'), $identifier);
  25. + }
  26. }
  27. // Always register an IP-based failed login event.
  28. - $this->flood->register('user.failed_login_ip', $flood_config->get('ip_window'));
  29. + if (property_exists($this, 'userFloodControl')) {
  30. + $this->userFloodControl->register('user.failed_login_ip', $flood_config->get('ip_window'));
  31. + } else {
  32. + $this->flood->register('user.failed_login_ip', $flood_config->get('ip_window'));
  33. + }
  34. throw new BadRequestHttpException('Sorry, unrecognized username or password.');
  35. }