顶级域名跨域请求,接口Cookie不携带

问题描述

顶级域名间跨域请求,接口请求头中cookie没有携带

问题出现的环境背景及自己尝试过哪些方法

最近在域名切换,页面域名比如为a.com,接口为b.com,在PC端chrome中没有问题,但在Mac Safari浏览器中发现接口请求头中没有cookie,XHR的withCredentials = true已经设置。
JSONP请求也是一样没有cookie。
此种情况只发生在跨顶级域名的时候,二三级域名跨域没有问题。
是不是浏览器有相关的安全限制呢,手机端app在安卓系统浏览器内核的情况下,会有一个setAcceptThirdPartyCookies的方法,设置为true可以放开这个限制,就可以携带cookie了。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

除了前后端统一顶级域名的方法外,还有没有其他的解决途径?望各位大神指点,谢谢~

阅读 2.6k
1 个回答

试试在服务端set-cookie的时候,设置domain为b的域,然后response头里添加Origin为b的域名。

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