我有两个在本地运行的应用程序。一个React前端和一个Flask后端后端处理所有OAuth身份验证,并为前端提供许多端点。
反应:http://www.local-app.com:3000/
烧瓶: http://www.local-app.com/
如果我发布到URL http://www.local-app.com/v1/auth/login
,则会得到以下响应数据:
Access-Control-Allow-Origin: http://www.local-app.com:3000
Connection: keep-alive
Content-Length: 2
Content-Type: text/html; charset=utf-8
Date: Fri, 08 Nov 2019 03:13:04 GMT
Server: nginx
Set-Cookie: remember_token=username|long_remember_token_here; Expires=Sat, 07-Nov-2020 03:13:04 GMT; Path=/
Set-Cookie: session=long_session_token_here; Domain=.local-app.com; Expires=Mon, 09-Dec-2019 03:13:04 GMT; HttpOnly; Path=/
Vary: Origin
这对我来说似乎是正确的,但是无论我如何尝试,Cookie都不会存储在客户端上。
在邮递员作品中发布到http://www.local-app.com/v1/auth/login
。设置cookie并将其保留在其他端点上。
我认为问题出在Cookie域上。我尝试设置代理服务器,但没有任何效果。
有什么建议吗?
答案 0 :(得分:0)
问题是由于Flask Cors模块覆盖了我的Nginx CORS配置。将以下代码添加到Flask应用中可以为我解决问题。
CORS(app, supports_credentials=True)
感谢塞尔柱克向我指出正确的方向。