Общая сессия на приложения Flask и Django. Это возможно?
Добрового времени суток.
Есть два приложения, одно на Django, другое на Flask.
Изначально проект живет на Django, а последние пристройки идут на Flask. Но основная бизнес логика лежит на Django, включая авторизацию, сессии и т.д.
Писать сейчас SSO, сильного желания нет, так как время поджымает.
Отсюда вопрос следующий, как можно забирать данные по сессии из django приложения, и встраивать их в Flask?
А какой смысл был приделывать Flask? Не хотите SSO, ну тогда или упрощенные вариант SSO - какая-то ручка в django для проверки сессии, доступная изнутри сети, или читать данные из таблицей django_session.
Максим Яковенко, ну какая разница, читайте из редиса, вам повезет если так есть user_id в открытом виде, иначе все равно надо будет изучать django код для декодирования данных.
Dr. Bacon, гуглил, но решения подходящего не нашел. Только нашел часть мыслей по этому поводу, что тоже не плохо. Самый короткий вариант, который мне подойдет в данном случае, это модификации библиотеки flask-login, путем добавление конфигурируемого свойства для поля `user_id`. Дальше можно решить часть проблема путем прикручивания Flask-Session + префикс ключа по которому нужно ходить.
Возможно кому-то это пригодится, но мне хватило flask-session + flask_login, только слегка модифицированную версию в рамках ключа поиска в хранилища.
Концептуально выглядит следующим образом.
Выставляете хост общий для кук обоих сервисов. Высталвляете конфигурации у flask-session, в соотвествии с дефолтными конфигурациями django для работы с сессией. А у flask-login ключ поиска записи сессии. И дальше, просто всю аутетификационную деятельность ведете на django, а потом переходите на страницы flask-a.