网页天猫是如何做到使用淘宝域名登录登出?
时间:2021-07-01 10:21:17
帮助过:9人阅读
天猫(
http://tmall.com)与淘宝(
http://taobao.com)是不同域名,它是如何做到淘宝登录天猫就登录了,淘宝登出天猫页面也跟着登出了?
就算是跨域名cookie共享也只能在子域名之间实现,
http://tmall.com与
http://taobao.com是如何做到独立域名之间“共享cookie”的?
这里有什么黑科技?
回复内容:
在tmall里面用这个来获取taobao的cookie信息
跨域jsonp传token,通过这个token,服务器再判断登录,从而实现sso,这黑魔法还是容易理解的。
实现时需要注意被xss恶意获取sso token,淘宝通过判断header中的referer是不是tmall来避免这个隐患。
不管什么系统淘宝也好支付宝也好,所有的login操作包括session管理都搞到一台机子或者一个专门的集群上去。这种方式叫单点登录俗称sso
SingleSignOn(SSO)
跑题答 = =
只知道有这个东西:
https://github.com/Jasig/cas好多高校就在使用
有支付宝控件,还有旺旺。
如果要通过cookie实现,可以a,b2站相互引入一个js,a登陆之后,b网站引用a的一个js,js执行跳转,跳到a的logintob,然后用301,跳到b站的loginfroma,再带上一个参数,用来无密码认证。客户直接打开loginfroma是没用的。
谷歌一下 SSO单点登录
两个站点的登录都是在taobao.com下进行登录。登录后的token,也都放在taobao.com。tmall.com的页面每次通过jsonp获取taobao.com的授权信息。这样2个站点就都是登录状态了。删除taobao.com的cookie,tmall.com也会失去登录态。
数据库通信,ID匹配就行。不算黑科技。
SSO SAML2