Логин не работает в 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 перестала работать.
Любой совет о том, как это исправить или как диагностировать, что идет не так, будет очень признателен, спасибо!