JWT-токен не отправляется в производстве (Django REST Framework & Next.js 14)
Я столкнулся с проблемой, когда JWT-токены не отправляются с клиента на сервер в моей производственной среде. Проект состоит из бэкенда Django REST Framework и фронтенда Next.js. В среде разработки (127.0.0.1) все работает нормально, но в производственной среде JWT-токен, хранящийся в cookies, не отправляется обратно на сервер.
Настройка проекта: Бэкенд (Django) Настройки: Вот мои соответствующие настройки в settings.py:
REST_AUTH = {
'JWT_AUTH_COOKIE': 'token',
'JWT_AUTH_REFRESH_COOKIE': 'refresh_token',
'JWT_AUTH_SECURE': True, # Enabled for production
'JWT_AUTH_HTTPONLY': True,
'JWT_AUTH_SAMESITE': 'None',
}
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOWED_ORIGINS = [
'https://vasa.liara.run', # My frontend domain
]
Конфигурация фронтенда (Next.js): На стороне клиента я отправляю запросы с помощью fetch следующим образом:
fetch("https://api-vasa.liara.run/auth/login", {
method: "POST",
credentials: "include", // Ensure cookies are sent
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ username, password })
});
Окружение: Frontend URL: https://vasa.liara.run. Backend URL: https://api-vasa.liara.run. Браузер: Chrome (последняя версия) HTTPS включен как для фронтенда, так и для бэкенда.
Почему куки не отправляются при последующих запросах? Что может вызвать эту проблему и как ее решить?