Один и тот же сеанс входа в Flask для двух приложений - PullRequest
0 голосов
/ 14 октября 2019

Два отдельных приложения Flask, работающие на двух разных поддоменах, однако сеансы входа в систему между поддоменами не сохраняются.

Например;вход в a.example.co.uk приведет к тому, что пользователь вошел в систему. Однако, посетив b.example.co.uk - пользователь не войдет в систему.

Запуск Apache, Flask (с Flask-Login), Ubuntu 18, Python 3.

Секрет приложения одинаков в обоих приложениях. Пробовал играть с настройкой конфигурации SERVER_NAME.

Для файлов cookie правильно установлено значение .example.co.uk

Файлы cookie настроены для использования на любом поддомене.

SESSION_COOKIE_NAME="example",
SESSION_COOKIE_DOMAIN=".example.co.uk",
REMEMBER_COOKIE_DOMAIN=".example.co.uk",

Вход в любой субдомен должен означать, что пользователь вошел в другой.

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

удалось решить это!

Оказывается, я устанавливал секретные ключи приложения Flask в файлах wsgi, вот так:

from App import app as application
application.secret_key = 'xxxxxxx'

И у обоих приложений были разные секретные ключи в их файлах wsgi! Полностью забыл, что я устанавливал секретные ключи как в файле wsgi, так и в основном файле python.

Удаление установки секретных ключей из файлов wsgi решило мою проблему

0 голосов
/ 15 октября 2019

Помнит ли ты, когда ты закрываешься и возвращаешься в a.example.co.uk? Вам нужно установить REMEMBER_COOKIE_SECURE в вашей конфигурации на False или None, не помню, но у меня была эта проблема раньше, и именно это и решило ее. Проверьте Документация Flask-Login

...