首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

【web】跨域cookie同步议案

2012-09-14 
【web】跨域cookie同步方案最近因为项目,需要了解在不同的域名下,同步登陆状态等cookie。于是兄弟公司那了解

【web】跨域cookie同步方案

最近因为项目,需要了解在不同的域名下,同步登陆状态等cookie。

于是兄弟公司那了解了一种跨域同步cookie的方案。

?

场景:有时一个公司可能有多个不同域名的网站,比如sina.com和weibo.cn,比如taobao.com和tmall.com。

这些网站背后很多是同一套会员体系。由于http协议规定cookie是跟着域名走的,这时就需要在不同的域名下同步登陆状态,避免出现用户体验上出现需要二次登陆验证的情况。

?

假设下面这样一个场景:

用户在 bbb.com上已经登陆,现在要去aaa.com上玩,在aaa.com域名下暂未登录。需要访问的aaa.com/resource.html资源需要登录才能访问。两个网站是同一套会员体系,同一个公司的。这是要让用户体验上做到用户在aaa.com上玩也能识别出登录状态。

?

以上面场景为例,下面画了个实现跨域同步简单流程图:


【web】跨域cookie同步议案

解释如下:

第一步:用户向aaa.com发起get请求,获取resource.html资源,aaa.com发现用户未登录,返回302状态和外部重定向url:

p.aaa.com?tartet=www.aaa.com/resource.html&sessionid=xxx&loginId=xxx&……

?第三步:用户根据第二步重定向url,访问p.aaa.com。p.aaa.com子域名上的应用专门负责根据请求参数里的参数对,往aaa.com域写入cookie,并重定向到用户第一步请求的url。

第四步:经过前三步,已经完成了再aaa.com域名下同步bbb.com的登录状态,用户再次请求aaa.com/resource.html,这是就能成功访问了。

?

?

(全文完)

热点排行