diff --git a/rest_auth/serializers.py b/rest_auth/serializers.py index c5dad7d..bc7c233 100644 --- a/rest_auth/serializers.py +++ b/rest_auth/serializers.py @@ -25,7 +25,12 @@ class LoginSerializer(serializers.Serializer): user = None if email and password: - user = authenticate(email=email, password=password) + try: + username = UserModel.objects.get(email__iexact=email).get_username() + user = authenticate(username=username, password=password) + except UserModel.DoesNotExist: + msg = _('Unable to log in with provided credentials.') + raise exceptions.ValidationError(msg) else: msg = _('Must include "email" and "password".') raise exceptions.ValidationError(msg) @@ -47,7 +52,12 @@ class LoginSerializer(serializers.Serializer): user = None if email and password: - user = authenticate(email=email, password=password) + try: + username = UserModel.objects.get(email__iexact=email).get_username() + user = authenticate(username=username, password=password) + except UserModel.DoesNotExist: + msg = _('Unable to log in with provided credentials.') + raise exceptions.ValidationError(msg) elif username and password: user = authenticate(username=username, password=password) else: