使用单独的Dyno作为React前端和Django后端时的Cookies

Jam*_*son 2 django cookies heroku cross-domain session-cookies

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

因此frontend.herokuapp.combackend.herokuapp.com

当我尝试通过react应用对我的API进行调用时,从API接收到的cookie不会与请求一起发送。

我曾希望我能够支持此配置,而不必做任何特殊的事情,因为所有服务器端请求(我认为)都将由JS客户端应用直接向后端进程发送,并附加其身份验证Cookie。

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

SESSION_COOKIE_DOMAIN = "herokuapp.com"

在Production中哪一个虽然不理想(因为herokuapp.com是一个广阔的领域),但在api.myapp.com和www.myapp.com上似乎是相当安全的。

但是,在settings.py中设置此值AuthStateMissing时,在命中/oauth/complete/linkedin-oauth2/端点时会得到一个。

搜索google会AuthStateMissing SESSION_COOKIE_DOMAIN得出一个单独的结果,这意味着该问题被报告为Django社交身份验证中的错误,此后已关闭,无需进一步评论。

任何人都可以抛出的任何光将不胜感激。

hen*_*123 5

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

根据Heroku文档:

换句话说,在支持该功能的浏览器中,herokuapp.com域中的应用程序无法为* .herokuapp.com设置cookie。

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

整个答案/sf/answers/3815925151/