Нужна помощь по аутентификации Django со страницей входа в Angular - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть страница входа в систему angular, которая отправляет запрос Ajax на мой сервер django (прослушивает отдельный порт от приложения angular), и я могу войти в систему моего пользователя, но файл cookie сеанса не возвращается в ответедля клиента хранить в угловом приложении.Вот как выглядит мой backend settings.py для аутентификации:

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',]

# Here are the session specific settings
SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_AGE = 1800 # The age of session cookies, in seconds
CORS_ORIGIN_ALLOW_ALL = True

А вот моя функция просмотра входа в систему, подключенная к моему пути входа:

@csrf_exempt
@require_POST
def login_view(request: HttpRequest):
    payload = request.body.decode()
    body = json.loads(payload)
    username = body['username']
    password = body['password']
    user = authenticate(request, username=username, password=password)
    if user is not None:
        login(request, user)# Log the user in
        return HttpResponse('Success')
    else:
        return HttpResponseBadRequest()

Я пытаюсь использовать проверку подлинности на основе файлов cookie / сеансов, чтобы, если пользователь закрывает страницу и перезапускает ее до истечения времени сеанса, он перенаправляет их обратно на целевую страницу, и для определенного поля ввода ввода допускаются только определенные параметры.должен быть возвращен на основе пользователя, и это должно быть обработано посредством аутентификации сеанса.Что-то не так в моем файле настроек?

1 Ответ

0 голосов
/ 05 февраля 2019

Попробуйте установить для SESSION_COOKIE_SECURE и CSRF_COOKIE_SECURE значение False, возможно, из-за того, что ваш запрос небезопасен

Файл cookie Django CSRF не установлен

...