跨域 Cookie 实现单点登录
单点登录
单点登录(SSO - Single Sign On):对于同一个客户端(例如 Chrome 浏览器),只要登录了一个子站(例如 a.com),则所有子站(b.com、c.com)都认为已经登录。
比如用户在登录淘宝后,跳转到天猫时就已经登录了。
用例步骤
- 未登录用户访问子站 a.com 进行登录,自动跳转到账户中心的统一登录页 account.com/login
- 用户在统一登录页进行登录,登录成功后显示登录跳转页
- 显示登录跳转页后自动跳转回 a.com,单点登录完成
- 用户在访问 b.com 时无需再次登录
实现原理
登录
- 统一登录页登录请求完成后响应为登录跳转页
- 登录跳转页中通知各子站进行登录
- 子站收到登录请求后验证 token 是否有效,有效的话在响应中设置 cookie(user_token=xxxx)
token 验证
- 账户中心使用私钥加密 user id,生成 token
- 子站使用公钥解密 token,将得到的 user id 和参数 uid 对比,如果一样就是校验通过
登出
- 用户在某个子站主动登出时跳转到账户中心统一登出页account.com/logout?uid=xxxx&token=xxxx
- 账户中心验证 token 后进行登出,在登出跳转页中通知各子站进行登出(设置 cookie),类似登录通知
- 子站收到登出请求后验证 token 是否有效,有效的话在响应中设置 cookie(删除 usertoken)
关键点
- 浏览器渲染登录跳转页时将执行上面用
跨域 Cookie 实现单点登录相关推荐
- cookie跨域,实现单点登录
Cookie 跨域,实现单点登录 Table title 最近在做一个单点登录的系统整合项目,之前我们使用控件实现单点登录(以后可以介绍一下).但现 ...
- java单点登录跨域_深入浅出让你理解跨域与SSO单点登录原理与技术
原标题:深入浅出让你理解跨域与SSO单点登录原理与技术 一:SSO体系结构 SSO SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互 ...
- Web应用跨域访问及单点登录解决方案汇总
做过跨越多个网站的Ajax开发的朋友都知道,如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容,如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.Ajax的跨域访问问题是现有的Aj ...
- asp 退出登录修改cookie能进入后台_深入浅出让你理解跨域与SSO单点登录原理与技术...
一:SSO体系结构 SSO SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用 ...
- java cookie 跨域共享_JavaWeb 系统共享跨域cookie的实现
[实例简介] 单点登录系统整合了各个应用系统的身份认证.用户在单点登录系统中完成认证后,就可以访问具有访问权限的应用系统.为了减轻单点登录系统的负担,用户的浏览器地址需要从单点登录系统的网址重定向到应 ...
- 将一个域下的cookie传到另一个域_单点登录那些事儿(二)同域下的单点登录
单点登录(SSO,Single Sign On)对我们来说已经不陌生了,一次登录,处处登录.企业旗下都是自己的应用系统,所有的应用系统都使用同一个一级域名,通过不同的二级域名来区分应用系统.例如:百度 ...
- SSO单点登录学习总结(2)——基于Cookie+fliter单点登录实例
1.使用Cookie解决单点登录 技术点: 1.设置Cookie的路径为setPath("/").即Tomcat的目录下都有效 2.设置Cookie的域setDomain(&quo ...
- 【No.1】基于Cookie的单点登录(SSO)
2019独角兽企业重金招聘Python工程师标准>>> 这篇主要说明基于Cookie的单点登录实现,以及Cookie的一些特性以及使用说明. 1.Cookie是什么,如何工作的 在程 ...
- 基于Cookie的单点登录(SSO)系统介绍
基于Cookie的单点登录(SSO)系统介绍 SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分.SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保 ...
最新文章
- Python基础入门:分支及循环
- BGP重分布进IGP-EIGRP
- Springboot中艾特Controller和艾特RestController之间的区别
- Python配置-virtualenv和conda的区别
- Angular jasmine单元测试框架里describe的实现原理
- Markdown--语法说明
- OSI七层模型详解 TCP/IP协议
- songEagle开发系列:如何让文章实时保存的问题
- ANSI C和Glib C区别(二)
- matpower在matlab里面吗,matpower matlab 238万源代码下载- www.pudn.com
- 信号完整性之传输线理论(三)
- Android 跳转外部浏览器
- Js网络视频播放器之VideoJsckplayer(直播拉流rtmp、hls)
- java正则匹配ip_正则表达式匹配ip地址
- NAT 技术最全详解 : 换个马甲就能上网
- BUUCTF 每日打卡 2021-5-6
- 2021-04-29 微信登录简易版
- 基于51单片机的流水灯设计
- 视频按帧截取 python程序
- Tidb分布式数据库
热门文章
- py-faster-rcnn在Windows下的end2end训练
- 霍夫变换(初始学习)
- 三、	vSphere 6.7 U1(三):部署AD和DNS
- 聊聊阿里面试的三个层次!
- Kafka集成Spring-AcknowledgeMessageListener接口实现
- 《PHP精粹:编写高效PHP代码》——第1章面向对象编程
- 用JSP实现学生查询
- 转载 linux内核 asmlinkage宏
- 理解并取证:DLS网络架构和PPPOE数据帧
- 无法打开此修补程序包”或“这个产品的安装来源无法使用”解决(转)