- app_name/authentication.py
from django.contrib.auth.models import User
class EmailAuthBackend:
"""
Authenticates using e-mail account.
"""
def authenticate(self, username=None, password=None):
try:
user = User.objects.get(email=username)
if user.check_password(password):
return user
return None
except User.DoesNotExist:
retur None
def get_user(self, user_id):
try:
return User.objects.get(pk=user_id)
except User.DoesNotExist:
return None
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'app_name.authentication.EmailAuthBackend',
)