Логин не работает в django при использовании перезаписи с хостинга firebase на облачный хостинг

Текущая установка: У меня есть приложение Django на gunicorn, работающее на Cloud Run. Поскольку регион, в котором оно развернуто, не поддерживает пользовательские домены, у меня есть хостинг firebase со следующим кодом:

{
  "hosting": {
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [{
      "source": "/**",
      "run": {
        "serviceId": "website",
        "region": "ap-south1"
      }
    }]
  }
}

Соответствующие настройки в settings.py:

CSRF_TRUSTED_ORIGINS = ['.<domain>.com']
CSRF_COOKIE_SECURE = True
SESSION_COOKIE_SECURE = True

Проблема: Однако, форма входа на /admin не работает, если я захожу на сайт, используя свое доменное имя https://doman.com/admin, хотя она прекрасно работает, если я использую конечную точку Cloud Run https://endpoint-uw.a.run.app.

Неправильное поведение: При доступе к нему с моего домена появляется страница входа, я ввожу свои учетные данные и вхожу в систему, она добавляет соответствующие куки в мой браузер, но затем перенаправляет меня обратно на страницу входа.

Может ли быть так, что поскольку URL переписывается firebase, django ожидает cookie от uw.a.run.app? Я пробовал добавить настройку SESSION_COOKIE_DOMAIN = '.<domain>.com', но это тоже не помогло, просто конечная точка Cloud Run перестала работать.

Любой совет о том, как это исправить или как диагностировать, что идет не так, будет очень признателен, спасибо!

Вернуться на верх