Vue.js 烧瓶+;由于chrome中的SameSite问题,Vue Flask会话不是持久的

Vue.js 烧瓶+;由于chrome中的SameSite问题,Vue Flask会话不是持久的,vue.js,cookies,cross-domain,samesite,Vue.js,Cookies,Cross Domain,Samesite,我尝试使用本文中提到的SPA风格使用Flask+Vue构建: 使用chrome时,烧瓶会话不会持久 google dev tools提出了一个同样的问题: 我试图根据在stack overflow中找到的信息修复它: 设置: from flask import Flask, make_response from flask import session from flask_cors import CORS from flask_session import Session from So

我尝试使用本文中提到的SPA风格使用Flask+Vue构建:

使用chrome时,烧瓶会话不会持久 google dev tools提出了一个同样的问题:

我试图根据在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会话工作正常

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

fetch(url, {
        mode: 'cors',
        credentials: 'include',
      })
github存储库

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

我认为你做得对。我建议在初始化CORS和会话包之前设置
app.config
值。此外,在响应处理程序中,您可以手动将标题设置为标记
“SameSite=None”
。代码如下所示

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

请参阅文档

如果您试图在Chrome上为flask应用程序设置samesite=None,我编写了一个解决方法,使用
flask.sessions
中的
SecureCookieSessisonInterface
类,并使用
response.headers.add()在响应上添加
请求后
装饰程序

您的测试代码有任何回购吗?@TarunLalwani我在上面写的包信息中添加了详细信息。我尝试了你的建议,但没有成功,你需要弄清楚的第一件事是如何使用flask设置任何标题。这不是Vue问题。做一个烧瓶教程来创建带有自定义头的服务器。