mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-19 14:09:20 -04:00
Merge pull request #506 from alphagov/reset_failed_login_count
Failed login count set to zero with password reset.
This commit is contained in:
@@ -5,7 +5,8 @@ from flask import (
|
||||
session,
|
||||
flash,
|
||||
request,
|
||||
abort
|
||||
abort,
|
||||
Markup
|
||||
)
|
||||
|
||||
from flask.ext.login import (
|
||||
@@ -69,7 +70,11 @@ def sign_in():
|
||||
else:
|
||||
return redirect(url_for('.two_factor'))
|
||||
# Vague error message for login in case of user not known, locked, inactive or password not verified
|
||||
flash('Username or password is incorrect')
|
||||
flash(Markup((
|
||||
"The email address or password you entered is incorrect."
|
||||
" <a href={password_reset}>Forgot your password</a>?"
|
||||
).format(password_reset=url_for('.forgot_password'))
|
||||
))
|
||||
|
||||
return render_template('views/signin.html', form=form)
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ def two_factor():
|
||||
# Check if coming from new password page
|
||||
if 'password' in session['user_details']:
|
||||
user.set_password(session['user_details']['password'])
|
||||
user.reset_failed_login_count()
|
||||
user_api_client.update_user(user)
|
||||
login_user(user, remember=True)
|
||||
finally:
|
||||
|
||||
@@ -108,6 +108,9 @@ class User(UserMixin):
|
||||
def failed_login_count(self, num):
|
||||
self._failed_login_count += num
|
||||
|
||||
def reset_failed_login_count(self):
|
||||
self._failed_login_count = 0
|
||||
|
||||
def is_locked(self):
|
||||
return self.failed_login_count >= self.max_failed_login_count
|
||||
|
||||
|
||||
Reference in New Issue
Block a user