我在这个问题上研究了很长时间,但找不到解决方案。 所以我的问题是:
我有一个 react 前端和一个 nodejs/express 后端安装在本地运行良好(该应用程序应该从后端获取 3 个 cookie 才能正常运行) 所以我在谷歌应用引擎上部署了我的后端(使用自定义域)。
前端可以登录app获取这些cookies,但是这些cookies不是持久化的。 如果我尝试重新加载页面或单击链接(例如获取帐户),它们就会消失。
前端代码可以在这里找到:front-end 可在此处找到后端代码:back-end
该应用的运行方式如下: 您尝试记录 => 如果成功,您将获得 3 个 cookie,其中一个带有 JWT。 在前台应该查看这些 cookie 以使 UI 正常工作之后。
感谢您的帮助。
答案 0 :(得分:0)
好的,经过数周的研究和测试,我解决了它(在 netlify 上)。
就像我说的,后端在带有自定义域的谷歌应用引擎上,前端在本地主机上(或用于在线测试的 netlify)。
所以我也必须设置一个自定义的域来 netlify 并将两者都放在同一个域上。他们只有 2 个不同的子域。
我必须明确地将域设置为我的 cookie(使用 js-cookie)。 所以我的 cookie(在后端)看起来像:
cookie("groupomania", true, {
maxAge: 7200000,
httpOnly: false,
sameSite: "None",
secure: true,
domain: "myDomain.com"
})
我的提取选项请求有这些选项:
method: "POST",
headers: { "Content-Type": "application/json" },
credentials: "include",
crossDomain: true,
所以如果这个解释可以帮助某人,我很高兴。 祝你有美好的一天!