响应 Cookie 未设置在 CORS 烧瓶中

Response Cookie not getting set in CORS flask

我正在尝试通过从 b.com

进行获取调用来在网站 a.com 上设置 cookie

a.com 是一个具有以下代码的烧瓶应用程序

from flask import Flask, request, make_response
from flask_cors import CORS,logging
logging.getLogger('flask_cors').level = logging.DEBUG

app = Flask(__name__)
CORS(app,supports_credentials=True)

@app.route("/")
def helloWorld():
  return "Hello, cross-origin-world!"

@app.route('/setcookie', methods = ['GET'])
def setcookie():
  resp = make_response("Cookie Set")
  resp.set_cookie('userID', "test",max_age=60*60*24)
  return resp

@app.route('/getcookie')
def getcookie():
  name = request.cookies.get('userID')
  return '<h1>welcome '+name+'</h1>'

app.run(host="0.0.0.0", port=5000)

b.com 是一个简单的网页,代码如下:

<html>
<head></head>
<body>
<script>
const url = "http://a.com:5000/";
fetch(`${url}setcookie`,{credentials: 'include'}).then(()=>{
    fetch(`${url}getcookie`,{credentials: 'include'});
})
</script>
Application page
</body>
</html>

当我们加载 a.com 时,理想情况下它应该能够获取 cookie,如果它们都在同一个域中,这是可行的。

在 google chrome 中启用 third-party cookie 后开始工作。