gpt4 book ai didi

vue.js - Flask+Vue Flask session 不持久,因为 chrome 有 SameSite 问题

转载 作者:行者123 更新时间:2023-12-03 06:41:50 27 4
gpt4 key购买 nike

我正在尝试使用文章中提到的 SPA 样式使用 Flask + Vue 构建: https://testdriven.io/blog/combine-flask-vue/

使用 chrome 时,Flask session 不是持久的google dev tools 提出了一个 SameSite 问题: enter image description here

我尝试根据我在stack overflow中找到的信息修复它:设置:

from flask import Flask, make_response
from flask import session
from flask_cors import CORS
from flask_session import Session

from SodukoUtils import init_board_options, find_next_move
from data.sudopy import Sudoku

app = Flask(__name__)
SESSION_TYPE = 'filesystem'
app.secret_key = b'abjdslgjl'
app.config.from_object(__name__)
CORS(app, supports_credentials=True)
Session(app)
app.config.update(
SESSION_COOKIE_SECURE=True,
SESSION_COOKIE_HTTPONLY=True,
SESSION_COOKIE_SAMESITE='None',
)

但是,当我使用 chrome 浏览器时,问题仍然存在。当我使用 Mozila 浏览器时,flask session 工作正常。

在 Vue 中,我使用 fetch 通过将模式设置为“cors”并将凭据设置为“include”来发送 http 请求例如:

fetch(url, {
mode: 'cors',
credentials: 'include',
})

github 存储库 link

包信息: enter image description here

最佳答案

很难解决这个问题,因为我无法安装您的依赖项或运行您的应用程序。

我认为您的做法是正确的。我建议在 初始化 CORS 和 session 包之前设置 app.config 值。此外,在响应处理程序中,您可以手动设置 header 以标记 "SameSite=None"。代码如下。

response.set_cookie('username', 'flask', secure=True, httponly=True, samesite='Lax')

参见文档 here

关于vue.js - Flask+Vue Flask session 不持久,因为 chrome 有 SameSite 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63906698/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com