python - Cookie 未使用 Flask 设置
问题描述
我正在尝试在登录后使用 Flask 设置一个 cookie,并在 Javascript 的前端重定向。
@app.route("/login")
@auth.login_required
def get_auth_token():
token = g.user.generate_auth_token()
request = make_response()
token = str(token.decode("ascii"))
request.set_cookie("token", value = token)
return request, 200
无论我是否有重定向,cookie 都不会设置。我尝试在前端注释掉我的重定向,我尝试设置我的 cookie,secure = false
但这些似乎都不起作用。我错过了什么?如果需要,我可以提供 generate_suth_token 函数,但我知道它工作正常。我在localhost:5000
Flask 0.12.2 上提供服务,并且在服务器日志中没有收到任何 cookie 警告。
解决方案
在这种情况下,如果Flask
服务和客户端服务托管在不同的域上(例如Flask
使用 127.0.0.1:8080,客户端使用 127.0.0.1:3000),则应使用domain
参数设置 cookie,否则它们将不可用。
resp.set_cookie('cookie_key', value="cookie_value", domain='127.0.0.1')
在此处domain
查找有关参数的更多信息