未在CORS烧瓶中设置响应Cookie

时间:2019-06-09 03:25:58

标签: python flask cors setcookie flask-cors

我试图通过从b.com进行调用来在a.com网站上设置Cookie

a.com是一个带有以下代码的Flask应用程序

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,如果它们都在同一个域中,则可以正常工作。

1 个答案:

答案 0 :(得分:0)

在Google chrome中启用第三方Cookie后开始工作。