File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -64,3 +64,12 @@ def test_logout(self):
6464 response = self .client .get (reverse ('mylogout' ), follow = True )
6565 self .assertEqual (response .status_code , 200 )
6666 self .assertContains (response , 'Login' )
67+
68+ def test_valid_login_email (self ):
69+ """
70+ Valid User can login using their email address
71+ """
72+ form_data = {'username' : 'fred@example.com' , 'password' : 'bedrocks' }
73+ response = self .client .post (self .url , form_data , follow = True )
74+ self .assertEqual (response .status_code , 200 )
75+ self .assertContains (response , 'Logout' )
Original file line number Diff line number Diff line change 33from django .http import HttpResponseRedirect
44from django .urls import reverse
55from django .contrib .auth import authenticate , login
6+ from django .contrib .auth .models import User
67from django .contrib import messages
78from django .utils .translation import ugettext_lazy as _
89from ..models import UserProfile , MFACode
1516from django .views .decorators .cache import never_cache
1617from axes .decorators import axes_dispatch
1718
19+
1820logger = logging .getLogger ('hhs_oauth_server.accounts' )
1921failed_login_log = logging .getLogger ('unsuccessful_logins' )
2022
@@ -88,6 +90,17 @@ def mfa_login(request):
8890 if form .is_valid ():
8991 username = form .cleaned_data ['username' ]
9092 password = form .cleaned_data ['password' ]
93+
94+ # If username doesn't exist, try username matching email address.
95+ try :
96+ User .objects .get (username__iexact = username )
97+ except User .DoesNotExist :
98+ try :
99+ check_user = User .objects .get (email__iexact = username )
100+ username = check_user .username
101+ except User .DoesNotExist :
102+ pass
103+
91104 user = authenticate (request = request , username = username .lower (), password = password )
92105
93106 if user is not None :
You can’t perform that action at this time.
0 commit comments