Куки сеанса Django не сохраняются

У меня есть Django API, который после успешного входа в систему использует заголовки ответа Set-Cookie для установки sessionId и CSRF Token в cookies. У меня это работало и вдруг перестало, куки больше не сохраняются. После входа в систему я вижу их в консоли, а когда обновляю, они исчезают. Я запускаю свое приложение Next.js локально с Django API, размещенным на Google Cloud Run с пользовательским доменом. Кто-нибудь знает, что происходит?

Поскольку ваш Django API размещен в Google Cloud Run (вероятно, с использованием HTTPS), убедитесь, что ваши файлы cookie установлены правильно, установите флажок Secure: Cloud Run использует HTTPS, поэтому ваши файлы cookie должны быть помечены как защищенные. Проверьте атрибут SameSite: По умолчанию современные браузеры блокируют сторонние файлы cookie, если только явно не задан параметр SameSite=None; Secure.

регистрация settings.py файл:

SESSION_COOKIE_SECURE = True  # required for HTTPS
SESSION_COOKIE_SAMESITE = "None"  # required for cross-origin requests
SESSION_COOKIE_HTTPONLY = True  # helps prevent XSS attacks


CSRF_COOKIE_SECURE = True  # required for HTTPS
CSRF_COOKIE_SAMESITE = "None"  # required for cross-origin requests
CSRF_COOKIE_HTTPONLY = False  # CSRF token needs to be accessible by JS for Next.js

при выполнении вызовов API из Next.js убедитесь, что вы указали учетные данные

fetch("https://your-api.com/login/", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  credentials: "include", // it ensures cookies are sent and received
  body: JSON.stringify({ username, password }),
});
Вернуться на верх