@@ -21,11 +21,14 @@ class LoginSerializer(serializers.Serializer):
21
21
email = serializers .EmailField (required = False , allow_blank = True )
22
22
password = serializers .CharField (style = {'input_type' : 'password' })
23
23
24
+ def authenticate (self , ** kwargs ):
25
+ return authenticate (self .context ['request' ], ** kwargs )
26
+
24
27
def _validate_email (self , email , password ):
25
28
user = None
26
29
27
30
if email and password :
28
- user = authenticate (email = email , password = password )
31
+ user = self . authenticate (email = email , password = password )
29
32
else :
30
33
msg = _ ('Must include "email" and "password".' )
31
34
raise exceptions .ValidationError (msg )
@@ -36,7 +39,7 @@ def _validate_username(self, username, password):
36
39
user = None
37
40
38
41
if username and password :
39
- user = authenticate (username = username , password = password )
42
+ user = self . authenticate (username = username , password = password )
40
43
else :
41
44
msg = _ ('Must include "username" and "password".' )
42
45
raise exceptions .ValidationError (msg )
@@ -47,9 +50,9 @@ def _validate_username_email(self, username, email, password):
47
50
user = None
48
51
49
52
if email and password :
50
- user = authenticate (email = email , password = password )
53
+ user = self . authenticate (email = email , password = password )
51
54
elif username and password :
52
- user = authenticate (username = username , password = password )
55
+ user = self . authenticate (username = username , password = password )
53
56
else :
54
57
msg = _ ('Must include either "username" or "email" and "password".' )
55
58
raise exceptions .ValidationError (msg )
0 commit comments