跨域名页面之间可以共享cookie吗?

在a.com登录后,获取token存到cookie,如何在b.com页面中拿到这个cookie?

阅读 15.1k
5 个回答

可以先使用 document.cookie 获取到 a.com 的cookie保存到localstorage,b.com再读取localstorage的cookie

需要服务端支持,使用CORS,设置请求头的Access-Control-Allow-Origin

从安全角度来说,这是一种授权行为,一般需要一定的再认证处理。这个再认证一般需要由B站发起到A站。

默认情况下,当前域下的cookie只能被当前域下的页面访问。

通过JavaScript设置cookie的doamin属性为一个恰当值即可实现跨域效果。

1.只有根域名相同的不同源的cookie才有可能实现跨域访问,当前根域名不同不能实现跨域。

域名b.baidu.com获取域名a.baidu.com存储的cookie,涉及到跨域,给cookie设置domain属性即可。

document.cookie=`"name=value;path=path;domain=baidu.com"`

domain属性规定cookie的跨域范围,可以实现cookie被baidu.com或其子域名访问。

path默认为其根目录,path=/

转自:https://www.cnblogs.com/xmyd/p/11555214.html

如果 a 网站跟 b 网站你都能控制那就简单多了呀

特定页面接收参数,如从 a 里面打开 b.com/token?token=* 然后存 token 到 localStorage 或者 sessionStorage, b.com 通过监听 storage 变化获取 token

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