Мои cookies не устанавливаются, когда я делаю запрос в Insomnia, мои cookies устанавливаются
Когда я отправляю запрос в Insomnia, cookies устанавливаются, но на клиенте (Vue) я делаю запрос к моему бэкенду (django) cookies не устанавливаются
Ожидаемое поведение: Cookie установлен
Фактическое поведение: Статус ответа 200, но куки не установлены и отображаются только в инструментах разработчика на вкладке сеть
Запрос:
methods: {
loginUser: function () {
fetch(`http://127.0.0.1:8000/auth/login/`, {
method: "POST",
headers: {
"content-type": "application/json",
},
credentials: 'include',
body: JSON.stringify({
username: this.username,
password: this.password,
}),
})
.then((res) => {
return res.json();
})
.then((data) => {
window.location.replace(data.url);
})
.catch((err) => console.error(err));
},
Django EP:
@csrf_exempt
def loginUser(request):
if not request.method == "POST":
return HttpResponse(status=405)
data = json.loads(request.body.decode('utf-8'))
user = authenticate(request, username=data['username'], password=data['password'])
request.session.set_test_cookie()
if user is not None:
login(request, user)
return HttpResponse(json.dumps({'url': 'http://localhost:8081/#/notes'}))
else:
print('Invalid login')
return HttpResponse(status=404)
- тестовый куки не работает (request.session.set_test_cookie()))
def getloggeduser(request):
print(request.session.test_cookie_worked())
return JsonResponse({'name': ''})
моя настройка:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'notesapp.apps.NotesappConfig',
'authentication.apps.AuthenticationConfig',
'corsheaders',
]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True