django sessionid, csrrftoken и vue axios - PullRequest
0 голосов
/ 11 мая 2018

У меня есть вопрос об использовании vue axios frontend и Django backend в среде cors-domain.

Мой cookie может использовать set-Cookie sessionid и csrftoken, но frontend не может получить эти параметры для сохранения в моем документе,Если я использую свой Chrome Explorer, cookie приложения пуст, но я могу найти cookie в заголовке cookie ответа.Но я не буду использовать этот csrftoken для внутренней проверки в другом POST AJAX, как я могу разрешить его для проверки?Я пробую много настроек, но не работаю с использованием функции @csrf_protect, хотя просто удалите ее и используйте @csrf_exempt, чтобы это работало. Как мне сохранить работу csrftoken в этой ситуации?

Спасибо.

Ниже приведены настройки, которые я использую.

настройки axios

axios.defaults.headers.get['Accept'] = 'application/json'
axios.defaults.headers.post['Content-Type'] = 'application/json'
axios.defaults.withCredentials = true
axios.defaults.xsrfCookieName = 'csrftoken'
axios.defaults.xsrfHeaderName = 'X-CSRFToken'

Настройки Django

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
    'django.middleware.gzip.GZipMiddleware',
)

CORS_ALLOW_HEADERS = (
    'accept',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-CSRFToken',
    'X-CSRFToken',
    'csrftoken',
    'x-requested-with',
)

CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
)

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