SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程
1、
跨域redirect实例:
test.html
跟test.html同域名下的test.php
header('Location:http://video.luojisiwei-inc.com/');//跨域重定向
http://video.luojisiwei-inc.com/index.php
echo 'aaaaaaaaaa';
setcookie('vtest','ooooooooooo');//跨域设置cookie
die;
访问test.html,在firebug下看到请求的结果
客户端先给test.PHP发ajax请求,然后被重定向到http://video.luojisiwei-inc.com下,并且返回一个Set-Cookie的Response,这样就实现了跨域重定向和跨域设置Cookie
然后浏览器中访问http://video.luojisiwei-inc.com,发现该域名下确实有了个叫vtest的Cookie
可以先看下这边文章:http://blog.chinaunix.net/uid-25508399-id-3431705.html
请求的结果是这样的:
可以看到返回一个重定向的Response,而且是跨域的重定向,由于发起的是跨域的jsonp请求,所以浏览器会根据返回的重定向url发起一次请求,也就是最后的跨域设置Cookie的请求
返回的Response header中含有Set-Cookie项,这样就在sso.minitiao.com域名下设置了Cookie,可以打开sso.minitiao.com发现确实有了ceshi3.com这样一个Cookie
联系客服