2017-01-05 4 views
0

Я пытаюсь настроить аутентификацию с помощью django-rest-auth и django-allauth. Пользователь существует в базе данных, и я могу войти на сайт администратора django. При попытке войти в систему, используя остальные-аутентификации/Логин/конечная точка проводки электронной почты/пароль, я получаю сообщение об ошибке 400 со следующим ответом:400 ошибка при использовании метода электронной почты только для аутентификации с использованием django-allauth и django-rest-auth

{ 
    "non_field_errors": [ 
     "Unable to log in with provided credentials." 
    ] 
} 

Я следовал инструкции здесь: http://django-allauth.readthedocs.io/en/latest/configuration.html#configuration

В моих настройках файл у меня есть следующие:

ACCOUNT_EMAIL_REQUIRED = True 
ACCOUNT_UNIQUE_EMAIL = True 
ACCOUNT_AUTHENTICATION_METHOD = 'email' 

Если я закомментировать три строки выше и использовать ту же конечную точку, но добавить имя пользователя она работает. Кажется, что он работает только с режимом электронной почты.

Благодарим за помощь!

ответ

2

У меня была та же проблема, решена путем установки правильных внутренних линий аутентификации. Вот мои настройки:

ACCOUNT_AUTHENTICATION_METHOD = 'email' 
ACCOUNT_USER_MODEL_USERNAME_FIELD = None 
ACCOUNT_USERNAME_REQUIRED = False 
ACCOUNT_EMAIL_REQUIRED = True 
ACCOUNT_UNIQUE_EMAIL = True 

AUTHENTICATION_BACKENDS = (
    "django.contrib.auth.backends.ModelBackend", 
    "allauth.account.auth_backends.AuthenticationBackend" 
) 
+0

Спасибо, это сработало! –

 Смежные вопросы

  • Нет связанных вопросов^_^