From 1f5e60dbb44f41a7722bb5b3edc266f414dacb18 Mon Sep 17 00:00:00 2001 From: Shihaam Abdul Rahman Date: Sun, 2 Aug 2026 14:32:10 +0500 Subject: [PATCH] remove more email related code --- api/backends.py | 17 ----------------- api/models.py | 4 ++++ apibase/settings.py | 4 ++-- 3 files changed, 6 insertions(+), 19 deletions(-) delete mode 100644 api/backends.py diff --git a/api/backends.py b/api/backends.py deleted file mode 100644 index 5a4e193..0000000 --- a/api/backends.py +++ /dev/null @@ -1,17 +0,0 @@ -from django.contrib.auth import get_user_model -from django.contrib.auth.backends import ModelBackend - - -class EmailBackend(ModelBackend): - def authenticate(self, request, username=None, password=None, **kwargs): - UserModel = get_user_model() - if not password: - return None - try: - user = UserModel.objects.get(email=username) - except UserModel.DoesNotExist: - return None - else: - if user.check_password(password): - return user - return None diff --git a/api/models.py b/api/models.py index 7022a1f..1823e6b 100644 --- a/api/models.py +++ b/api/models.py @@ -75,6 +75,10 @@ class User(AbstractUser): objects = CustomUserManager() + # Log in with username + password only; email is optional and not prompted + # by createsuperuser. + REQUIRED_FIELDS = [] + class TemporaryUser(models.Model): t_id = models.AutoField(primary_key=True) diff --git a/apibase/settings.py b/apibase/settings.py index cf1f363..cdbb360 100644 --- a/apibase/settings.py +++ b/apibase/settings.py @@ -157,9 +157,9 @@ DATABASES = { # Password validation # https://docs.djangoproject.com/en/5.0/ref/settings/#auth-password-validators -# Uses email as username for login +# Log in with username + password (default Django backend) AUTH_USER_MODEL = "api.User" -AUTHENTICATION_BACKENDS = ["api.backends.EmailBackend"] +AUTHENTICATION_BACKENDS = ["django.contrib.auth.backends.ModelBackend"] AUTH_PASSWORD_VALIDATORS = [ {