gpt4 book ai didi

django - 使用单独的 Dyno 作为 React 前端和 Django 后端时的 Cookie

转载 作者:行者123 更新时间:2023-12-02 15:30:29 25 4
gpt4 key购买 nike

我正在构建一个简单的 Web 应用程序,前端使用 React.js,服务器端使用 Django。

因此frontend.herokuapp.combackend.herokuapp.com

当我尝试通过 React 应用程序调用 API 时,从 API 接收到的 cookie 不会随请求一起发送。

我原以为我能够支持此配置,而无需执行任何特殊操作,因为所有服务器端请求(我认为)将由 JS 客户端应用程序直接向后端进程发出,并附加其身份验证 cookie。

为了找到一个我认为可行的解决方案,我尝试设置

SESSION_COOKIE_DOMAIN = "herokuapp.com"

虽然在生产环境中不太理想(因为 herokuapp.com 是一个巨大的域名),但似乎相当安全,因为它们在 api.myapp.com 和 www.myapp.com 上。

但是,通过在 settings.py 中设置此值,我在访问 /oauth/complete/linkedin-oauth2/ 端点时收到 AuthStateMissing

在 google 上搜索 AuthStateMissing SESSION_COOKIE_DOMAIN 会得到一个单独的结果,这意味着该问题已被报告为 Django 社交身份验证中的一个错误,并且已被关闭且没有进一步评论。

任何人都可以提出的任何建议都将非常感激。

最佳答案

我在使用 herokuapp.com 时遇到了完全相同的问题。我什至在 SO here. 上发布了一个问题

根据 Heroku 文档:

In other words, in browsers that support the functionality, applications in the herokuapp.com domain are prevented from setting cookies for *.herokuapp.com

Heroku 阻止来自 frontend.herokuapp.com 和 backend.herokuapp.com 的 cookie您需要将自定义域添加到 frontend.herokuapp.com 和 backend.herokuapp.com

完整答案https://stackoverflow.com/a/54513216/1501643

关于django - 使用单独的 Dyno 作为 React 前端和 Django 后端时的 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56101190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com