Я работаю над приложением для использования rest-auth
с all-auth
для аутентификации и управления моей базой пользователей.
Я следовал этому учебнику, и регистрация работает отлично, и я использую несколько пользовательских настроек для использования email
в качестве метода аутентификации.
# Rest auth
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_VERIFICATION = 'none'
К сожалению, при попытке использовать конечную точку login
с представлением входа в систему по умолчанию, с использованием Почтальона и публикации данные в виде форм-данных или код-формы:
path('rest-auth/login/', LoginView.as_view(), name='rest_login'),
Я получаю этот ответ.
{
"non_field_errors": [
"Unable to log in with provided credentials."
]
}
Я использую точный пароль / адрес электронной почты, которые есть в моей базе данных.
Используя ipdb, я отследил проблему до login
представления в rest_auth
. При попытке проверить сериализатор в этой строке происходит сбой.
self.serializer.is_valid(raise_exception=True)
Сериализатор Login
выглядит следующим образом:
LoginSerializer(
context={'request': <rest_framework.request.Request object>, 'format': None, 'view': <rest_auth.views.LoginView object>},
data=<QueryDict: {'password': ['asdandapodnapdasnd'], 'email': ['example@h.com']}>):
username = CharField(allow_blank=True, required=False)
email = EmailField(allow_blank=True, required=False)
password = CharField(style={'input_type': 'password'})
Что я могу сделать чтобы убедиться, что LoginSerializer
действительно, чтобы мои пользователи могли войти?