大家好,
经过几个小时的谷歌搜索和尝试所有我能找到的方法,我仍然没有找到解决我的问题的方法。
我试图将JWT令牌保存在HttpOnly cookie中,但是尽管我的服务器正确地发送了cookie,但它在浏览器中没有设置。
我在服务器端启用了CORS,发送的cookie不是安全
,具有路径'/'
,并且设置了samesite=none
。 域被设置为localhost
,因为我的前端在那里运行,并且httponly=true
。
cookie被正确接收,并且在Chrome中显示为token=eyj...hcp; 最大年龄=31104000; 域=localhost; 路径=/; 过期=2021年8月5日下午12:22:35 GMT; HttpOnly,samesite=none
我猜问题是前端在localhost:3000上运行,后端在localhost:4000上运行。
如果有任何帮助,我将不胜感激,谢谢!
我猜问题是前端在localhost:3000上运行,后端在localhost:4000上运行。
这就是答案。 关于cookie,localhost:4000
和localhost:3000
不是同一个域。
最常见的解决方案是使用webpack-dev-server
。 这个dev-server将负责两件事。
因此您需要将其作为前端开发环境的一部分来实现。