『壹』 如何用js实现跨域获取cookie
正常情况下,浏览器禁止跨域获取cookie
一般通过sso服务可以实现取得跨域cookie,思路如下:
域A页面访问位于域A的服务器,对权限进行验证
域A服务器于域B服务器通信,记录一个唯一的加密串用作身份验证域(并将cookie信息发送给域B服务器)
域A服务器返回302跳转,跳转到域B下,并将加密串作为url的一部分
页面由域A跳转到域B,域B服务器通过加密串获取到事先从域A服务器上得到的cookie信息,并在响应头中添加set-cookie字段设置cookie
『贰』 怎么用js跨域读到iframe里的cookie
第一种很简单:
将系统B设置为可信站点。
第二种:
IE设置隐私策略:在Internet选项->隐私->高级版,将“替代自动权cookie处理”的选项打上,并“第一方cookie”和“第三方cookie” 都设置为 接受;如下图:
第三种:
在response的head上增加p3p协议;
java: 增加一个filter ,在 doFilter 部分:
Java代码
代码如下 复制代码
HttpServletResponse res = (HttpServletResponse) response;
res.setHeader(“P3P”,”CP=CAO PSA OUR”);
『叁』 解决vue nodejs中cros跨域cookie和session失效的问题
很多童鞋会发现vue请求api接口的时候多个地址没法共享session,也就是session会丢失。我们知道session是基于cookie的,ajax请求没法共享session主要是因为cookie跨域引起的。cookie跨域如何解决呢?