php跨域单点登录,SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析...
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
京东商城跨域设置Cookie实现SSO单点登陆过程
可以先看下这边文章:http://blog.chinaunix.net/uid-25508399-id-3431705.html
1、点击首页的登陆按钮跳转到京东的登陆中心https://passport.jd.com/new/login.aspx?ReturnUrl=http%3A%2F%2Fwww.jd.com%2F,然后输入用户名、密码验证,验证通过跳转到ReturnUrl指定的地址,也就是京东首页
2、首页通过Jquery.getJSON()方法发起http://passport.jd.com/new/helloService.ashx请求,跨域获取需要跨域设置登陆cookie的应用列表,返回一个Json数据
3、js遍历sso,通过jQuery.ajax()方法对其中的每条数据发起跨域的jsonp请求,我猜测京东的js代码大概是这么写的
请求的结果是这样的:
可以看到返回一个重定向的Response,而且是跨域的重定向,由于发起的是跨域的jsonp请求,所以浏览器会根据返回的重定向url发起一次请求,也就是最后的跨域设置Cookie的请求
4、浏览器发起sign请求跨域设置Cookie,请求和返回结果如下
返回的Response header中含有Set-Cookie项,这样就在sso.minitiao.com域名下设置了Cookie,可以打开sso.minitiao.com发现确实有了ceshi3.com这样一个Cookie
5、至此京东就完成了单点登录的全过程
php跨域单点登录,SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析...相关推荐
- Cookie登录爬取实战:Python 利用urllib库的cookie实现网站登录并抓取
1 环境:Python 3 +urllib库 实战网站:http://www.mjzcnd.com/ 梅江之春论坛网站 2 背景: 现在许多网站都需要登录后才能访问某个页面,在登陆之前,我们是没有权 ...
- [Python]网络爬虫(三):使用cookiejar管理cookie 以及 模拟登录知乎
大家好哈,上一节我们研究了一下爬虫的异常处理问题,那么接下来我们一起来看一下Cookie的使用. 为什么要使用Cookie呢? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在 ...
- SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析
最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1.jQuery ajax跨 ...
- 完全跨域的单点登录(SSO)解决方案源码解析
为什么80%的码农都做不了架构师?>>> 本文介绍的是一种PHP的开源SSO解决方案,可完全跨域,实现较简洁,源码地址:https://github.com/legalthin ...
- 前后端分离单点登录SSO实现方案 淘宝、京东跨域获取Cookie、OAuth2、QQ客户端多种模式
演示Demo站点 http://sso.exrick.cn 开源版Github地址 https://github.com/Exrick/x-boot) 开发文档 https://www.kanclou ...
- 多域单点登录SSO系统的实现
多域单点登录SSO系统的实现 天幻网新的规划中,将涉及到多域,如FFSKY.COM,FFSKY.CN等等,因此网上某些对同一域靠设置COOKIE的DOMAIN=".FFSKY.COM&quo ...
- 基于域控的SSO单点登录
大家好,好久不见,今天老吕给大家来一篇偏冷门知识的文章. 一.需求 大型集团企业内部会有许多业务系统,工作人员也往往需要登录多个业务系统才能完成工作,这就可能会存在一些问题 1.多套账号与密码需要记录 ...
- 跨域 Cookie 实现单点登录
单点登录 单点登录(SSO - Single Sign On):对于同一个客户端(例如 Chrome 浏览器),只要登录了一个子站(例如 a.com),则所有子站(b.com.c.com)都认为已经登 ...
- 基于.Net的单点登录(SSO)解决方案
基于.Net的单点登录(SSO)解决方案 前些天一位朋友要我帮忙做一单点登录,其实这个概念早已耳熟能详,但实际应用很少,难得最近轻闲,于是决定通过本文来详细描述一个SSO解决方案,希望对大家有所帮助. ...
最新文章
- 亚马逊AWS 数据中心起火,致 5 人死亡、50 人受伤
- python win32转pdf 横版_使用Python3将word文档和pdf电子书进行格式互转(兼容Windows/Linux)...
- 时间序列研(part1)--随机过程
- 【2018.4.14】模拟赛之三-ssl2393 单元格
- python Json的一点收获,自定义序列化方法
- mysql安装innodb插件
- linux ruby 安装路径,Linux(CentOS 7)安装ruby
- 大厂面试算法系列-如何从无序链表中移除重复项(二)-递归法
- 路由器用到坏才换?路由器你在乎哪些功能?
- Hibernate在配置表映射文件时cascade的类型及意义
- 基于FPGA实现uart串口模块(Verilog)--------发送模块及整合
- window xp系统安装php环境_在Windows XP下安装Apache+MySQL+PHP环境
- cart决策树Matlab实现,CART决策树的理解及其实现
- 一夜之间ChatGPT火遍全球,程序员的饭碗保不住了吗
- java实现oracle的months_between函数
- 11. python入门复习教程之命名空间与作用域,再谈异常,标准库,持久化与序列化
- 俺就不說話,找虐,直接上代碼。
- mes系统故障_MES系统故障恢复探讨
- 一个JAVA程序员经常访问的网站
- 用android后勤报修系统,后勤微信报修系统—易报修