【问题标题】:How can I store cookies on a local client that are returned from a local backend API?如何将本地后端 API 返回的 cookie 存储在本地客户端上?
【发布时间】:2020-03-04 16:59:58
【问题描述】:

我有两个在本地运行的应用程序。一个 React 前端和一个 Flask 后端。后端处理所有的 OAuth 身份验证,并为前端提供一堆端点。

反应http://www.local-app.com:3000/
Flask: 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 域。我尝试过设置代理和各种方法,但没有任何效果。

有什么建议吗?

【问题讨论】:

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


【解决方案1】:

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

CORS(app, supports_credentials=True)

感谢塞尔丘克为我指明了正确的方向。

【讨论】:

    猜你喜欢
    • 2014-05-04
    • 2017-03-26
    • 2011-06-14
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 2016-05-27
    • 2014-02-26
    • 1970-01-01
    相关资源
    最近更新 更多