tro*_*gne 2 heroku node.js express
我正在向我的后端发出 axios 请求,并设置一个 cookie :
axios.get(`http://mybackend/somepage`)
.then((response) => {
res.cookie('token', response.data.token)
res.send(`click here <a href="http://mybackend/profile">profile</a>`)
})
Run Code Online (Sandbox Code Playgroud)
在我的后端,我使用带有“cookie-parser”的express。
单击后端的链接,我得到以下内容console.log(req.cookies)
:“[Object: null prototype] {}”。
查看请求标头,cookie 甚至没有发送。
我在本地主机上测试时没有这个问题。
是因为无法在两个域(在本例中是 2 个 heroku 应用程序)之间交换 cookie 吗?
不,您不能在两个 Heroku 应用程序之间发送 cookie...
\n*.herokuapp.com
已添加到公共后缀列表中,这意味着您无法在这些站点之间交换 cookie。
\n\nherokuapp.com 包含在 Mozilla Foundation\xe2\x80\x99s 公共后缀列表中。该列表在多个浏览器(例如 Firefox、Chrome 和 Opera)的最新版本中使用,以限制 cookie 的范围。换句话说,在支持该功能的浏览器中,herokuapp.com 域中的应用程序将被阻止为 *.herokuapp.com 设置 cookie。请注意,目前可以在 Internet Explorer 中设置 *.herokuapp.com cookie,但不应依赖此行为,并且将来可能会发生变化。
\n
\n文章
其他StackOverflow 问题
\n修复:
\nfirstSite.herokuapp.com/secondSite