2👍
✅
Following the advice of @MrName I managed to solve my issue.
So I deleted DEFAULT_AUTHENTICATION_CLASSES in my settings and added this:
REST_AUTH_SERIALIZERS = {
'LOGIN_SERIALIZER': 'users.auth.LoginSerializer'
}
Then I copy pasted the original serializer and modified the function _validate_email with:
def _validate_email(self, email, password):
user = None
if email and password:
user = self.authenticate(email=email, password=password)
# TODO: REMOVE ONCE ALL USERS HAVE BEEN TRANSFERED TO THE NEW SYSTEM
if user is None:
password_hashed = hashlib.md5(password.encode())
password_hashed = hashlib.sha256(password_hashed.hexdigest().encode())
try:
user = User.objects.get(email=email, password=password_hashed.hexdigest())
except ObjectDoesNotExist:
user = None
else:
msg = _('Must include "email" and "password".')
raise exceptions.ValidationError(msg)
return user
Source:stackexchange.com