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传到后端。。

阅读 3.3k
2 个回答

你总结的很对,浏览器的安全策略就是如此,如果要跨域动态传参的话没法放到cookie里去传

1.客户端withCredentials=false不发送cookie
2.客户端withCredentials=true如果跨域且后端不允许跨域字段包含Cookie是,不发送cookie

综上
withCredentials=true && (不跨域||后端允许跨域 &&后端允许跨域字段包含cookie)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题