在a.com登录后,获取token存到cookie,如何在b.com页面中拿到这个cookie?
默认情况下,当前域下的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=/
如果 a 网站跟 b 网站你都能控制那就简单多了呀
特定页面接收参数,如从 a 里面打开 b.com/token?token=* 然后存 token 到 localStorage 或者 sessionStorage, b.com 通过监听 storage 变化获取 token
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
5 回答3.8k 阅读
可以先使用 document.cookie 获取到 a.com 的cookie保存到localstorage,b.com再读取localstorage的cookie