axios跨域携带的cookie是客户端域下的还是服务端域下的?
遇到一个跨域携带cookie的问题,vue项目使用axios发送跨域请求,并且前端往cookie里塞了些东西,node后端取不到这个cookie
axios已设置withCredentials=true
;
node后端已设置
res.header('Access-Control-Allow-Origin', 'http://localhost:8080');
res.header('Access-Control-Allow-Credentials', 'true')
研究了一天这个问题,发现如果配置了withCredentials=true,服务端可以获取到服务端域下的cookie,但也获取不到客户端域下的cookie; withCredentials=false的话连服务端域下的cookie都取不到,求解有没有办法把客户端域下的cookie传到后端。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你总结的很对,浏览器的安全策略就是如此,如果要跨域动态传参的话没法放到cookie里去传
1.客户端
withCredentials=false
不发送cookie2.客户端
withCredentials=true
如果跨域且后端不允许跨域字段包含Cookie是,不发送cookie
综上
withCredentials=true
&& (不跨域
||后端允许跨域
&&后端允许跨域字段包含cookie
)