如何在前端应用程序和后端服务器之间共享cookie?

How to share cookie between front-end app and backend server?

在 javascript 单页应用程序中,在用户向前端发出第一次请求时,会使用 Node JS Express 设置一个 cookie。

通过向 Fetch API 添加 "credentials: include" 选项,将凭据包含到请求中。 第一个渲染是服务器端渲染,React 服务器端渲染。

我可以在开发者工具中看到 cookie。它在每个请求时发送到前端,但不发送到后端。

前后端都是节点服务器。在开发中,它们位于本地主机的不同端口上(也尝试在主机文件中设置域,但没有区别)。在暂存中,api 服务器位于前端服务器域的子域中。都不行。

他们可以共享相同的 cookie 还是我应该为每个创建一个 cookie?我似乎无法为后端请求设置 cookie,这可能是因为开发中的不同端口或暂存中的不同子域。

好的,我想我明白了。

Cookie 已针对某些请求发送,但未针对其他请求发送。检查请求方法,发现方法类型为"OPTIONS"时不发送cookie,这是预检,显然这是正常的。

解决方法是在请求方法为 OPTIONS 时避免检查 cookie,在这种情况下只发送 200 空响应,以便真正的请求可以继续,在此期间将发送 cookie。