如何将本地后端API返回的Cookie存储在本地客户端上?

时间:2019-11-08 03:56:56

标签: reactjs flask cookies session-cookies flask-login

我有两个在本地运行的应用程序。一个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域上。我尝试设置代理服务器,但没有任何效果。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

问题是由于Flask Cors模块覆盖了我的Nginx CORS配置。将以下代码添加到Flask应用中可以为我解决问题。

CORS(app, supports_credentials=True)

感谢塞尔柱克向我指出正确的方向。