【发布时间】:2022-01-23 06:54:48
【问题描述】:
在本地,我的 cookie 设置得很好,但是在 Heroku 上通过跨站点调用,它们没有在 Chrome 或 Safari 中设置,这是我迄今为止尝试过的两种浏览器。我只能认为是因为跨站调用,或者是因为 Heroku 的代理设置。
我的 Set-Cookie 标头如下所示:
CookieName=cookieValue; Max-Age=864; Domain=.myPurchasedDomain.net; Path=/; Expires=Tue, 21 Dec 2021 22:43:28 GMT; HttpOnly; Secure; SameSite=None
我已将我的 BE 服务器设置为信任代理,我的 FE 和 BE 都应该只能通过 https 访问。我没有任何(可见的)CORS 问题。我在我的 Express BE 中设置withCredentials: true,在我的 FE axios 选项中设置credentials: true。我在我的 FE 上使用 next.js,以防可能影响任何事情。
我不知道如何确定我的 cookie 未设置的原因。关于我接下来应该尝试什么或可能导致问题的任何想法?
编辑:我的 FE axios 调用如下所示:
axios
.post(
"herokuUrl/login",
{
/* no body */
},
{
headers: {
Authorization: jwtToken, // Variable from elsewhere
},
withCredentials: true,
}
)
【问题讨论】:
标签: node.js reactjs heroku cookies next.js