node.js - 在 express/nestjs 中跨域设置 cookie(云端后端/本地主机上的 NextJS)

标签 node.js express cookies next.js

目前我们在跨域设置 cookie 时遇到问题。设置是,我们将 NextJS 作为前端,将 NestJS 作为后端。现在,这个后端部署在 DigitalOcean 中,我们的前端开发人员在本地主机上。目前我们在这种情况下设置 cookie 时遇到问题。

在后端,cors 凭据已设置为 true,在使用 graphql apollo 的前端,凭据已设置为 include。 所以从技术上讲,在本地主机上同时运行服务器和客户端,cookie 没有问题,它正在被设置。但是,一旦前端开发人员在 DigitalOcean 上使用 API 端点,cookie 就会被阻止。

我已经尝试了很多方法来使用 cookie 选项,例如将 httpOnly 设置为 true 或 false,将 sameSite 设置为 none 但它要求 Secure 为 true 所以不可能。将域设置为本地主机或 127.0.0.1 等。

那么你们知道我们该如何解决这个问题吗?我们想要这种结构,以便前端开发人员不需要在本地运行服务器,他们只需要指向该 API,仅此而已。谢谢!

最佳答案

你好,我的项目已经在本地主机端口 3000(nestjs)、5000(nextjs) 上运行 此本地主机环境可以共享 cookie

所以在生产中我使用了 www.domain.com(nestjs), service.domain.com(nextjs) 并设置 cookie 的域 = .domain.com 以共享 nextjs 和 nestjs 的 cookie

它工作正常。希望这对其他人有帮助,哈哈。

关于node.js - 在 express/nestjs 中跨域设置 cookie(云端后端/本地主机上的 NextJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65370090/

相关文章:

node.js - Dialogflow webhook(Google 上的操作)。我是否应该使用 RichResponse?

javascript - 为什么带参数的动词方法会阻塞同一路由的另一个方法?

angularjs - 当用户在 nodeJS/Express 和 Angular 中闲置一段时间(基于 token 的授权)时,我如何使我的 JWT token 过期

javascript - 将 Javascript 函数与 Handlebars 中的按钮一起使用

session - 默认 session 过期超时?

javascript - next.js 构建时间很慢。我怎样才能让它们更快?

node.js - NodeJS - 如何在 Windows 10 上正确安装和运行 Webpack?

node.js - 使用 Node.js 和 Express.js 检索 MongoDB 子文档

node.js - 如何在 ReactJs API 调用上维护 Node 后端的 session

python - 持续从雅虎财经检索 cookie 和 crumb 以进行历史数据下载