目前,我们在跨域设置cookie方面存在问题。设置是,我们使用NextJS作为前端,NestJS作为后端。现在,这个后端部署在DigitalOcean中,我们的前端开发程序在本地主机上。目前,我们在此场景中设置cookie时遇到了问题。
在后端,cors凭据被设置为true,而在使用graphql阿波罗的前端,凭据被设置为包含证书。因此,从技术上讲,在本地主机上运行服务器和客户机,在cookie上没有问题,它正在设置中。但是,一旦前端开发人员在DigitalOcean上使用了API端点,cookie就会被阻塞。
我已经尝试了很多方式来玩cookie选项,比如将httpOnly设置为true或false,将sameSite设置为none,但它需要安全才能为true,所以不可能。将域设置为localhost或127.0.0.1等。
你们知道我们怎么解决这个问题吗?我们需要这种结构,这样前端开发人员就不需要在本地运行服务器了,它们只需要指向那个API,仅此而已。谢谢!
发布于 2022-04-07 07:07:44
你好,我的项目运行在localhost端口3000(nestjs),5000(nextjs)上,这个本地主机环境可以共享cookie。
因此,在生产中,我使用了www.domain.com( nestjs )、service.domain.com( nextjs ),并将cookie的域= .domain.com设置为共享cookie(nextjs&nestjs)。
效果很好。希望这对其他人有所帮助。
https://stackoverflow.com/questions/65370090
复制相似问题