Задать вопрос
@MegaTort

Как сохранять сессию во Flask?

При запуске Flask на host=0.0.0.0 один и тот же пользователь имеет новы sid.
При запуске на локальном порту проблем таких проблем не возникает

То есть после того, как пользователь авторизовался и я сохранил его сессию при переходе им на новую страницу ему присваивается новый sid, то есть будто зашёл новый пользователь. Сессия сохраняется локально, но одному и тому же каждый раз присваивается новый файл сессии

Авторизация
@app.route("/login", methods=["POST"])
def login():
    if request.method == "POST":
        username = request.form.get('username')
        password = request.form.get('password')
        ...
        if flag:
            if not session.get('userLogged'):
                session['userLogged'] = {'id': user_id, 'username': username}
       return ...


Реакция домашний страницы на пользователя который логинился или нет
@app.route("/")
def index():
    if session.get('userLogged'):
        user_id = session.get('userLogged').get('id')
        if user_id:
            ....


Настройки приложения имею такие
from flask import Flask, request, jsonify, render_template, url_for, session, flash, redirect
from flask_session import Session
from flask_cors import CORS


DATABASE = 'users.db'
SECRET_KEY = '01a439747c9da4e08bc0da93174d764c3d5eed5d'
SESSION_TYPE = 'filesystem'
DEBUG = True
THREADED = True
SESSION_COOKIE_SAMESITE = "None"
SESSION_COOKIE_SECURE = True
SUPPORTS_CREDENTIALS = True
HOST = '0.0.0.0'
PORT = 5000

app = Flask(__name__)
app.config.from_object(__name__)
app.config.update(SESSION_COOKIE_SAMESITE=SESSION_COOKIE_SAMESITE, SESSION_COOKIE_SECURE=SESSION_COOKIE_SECURE)
Session(app)
CORS(app, supports_credentials=SUPPORTS_CREDENTIALS)


if __name__ == '__main__':
    app.run()
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект