Next js 在生产环境中不使用 cookie

Posted

技术标签:

【中文标题】Next js 在生产环境中不使用 cookie【英文标题】:Next js not using cookies on production 【发布时间】:2022-01-14 10:34:14 【问题描述】:

我的 Next js 应用程序没有在生产环境中使用响应 cookie。它在开发和本地构建中就像一种魅力。 cookie 在所有情况下都在响应中,但在生产中它们不会保存在客户端浏览器上。 响应:

在本地构建中:

在产品中:

你可以在https://plantes.vercel.app/sign-in上测试它

【问题讨论】:

请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

我发现了问题。它可以在 localhost 上运行,只是因为后端也在 localhost 上运行。当我尝试使用生产后端时,它会产生同样糟糕的结果。关键是 cookie 默认情况下不会在不同域之间共享。所以我需要在后端将 SameSite 设置为 None 以便在单独的域中使用它。 希望它对遇到此问题的下一个人有所帮助。 就我而言,后端是用 Django 制作的,所以这个网站很有帮助:https://yoongkang.com/blog/cookie-based-authentication-spa-django/

【讨论】:

以上是关于Next js 在生产环境中不使用 cookie的主要内容,如果未能解决你的问题,请参考以下文章

Express-Session 在生产/部署中不起作用

Rails 应用程序在生产环境中不提供 JS 和 SCSS 资产

P11:生产环境打包

Firebase + Next.js 无服务器,在 GCP 上 - 如何管理登台、生产 + 本地

NextJS:如何为生产构建添加屏幕加载?

Rails 应用程序在生产环境中不提供资产