Невозможно войти с помощью rest-auth, пока я вижу пользователя в моей базе данных - PullRequest
0 голосов
/ 10 января 2020

Я работаю над приложением для использования 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 действительно, чтобы мои пользователи могли войти?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...