# 单点登录
单点登录(Single Sign On):
简称SSO,在多个应用系统中,用户只要登录一次就可以访问所有互相信任的应用系统。

如上图,客户端持有sessionId,服务端持有session,通过特殊机制使得每个server共用一个session的信息, 再让客户端都能使用一个sessionId,就实现了基本的单点登录
服务端:
共享cookie模式:本质上cookie只是用来存放sessionId,将sessionId拿出来放在每一个请求的url里面, 但是让多个server共享一个session,这不符合一个server一个session的机制的初衷
SSO-Token模式:不使用sessionId作为唯一标识,另外生成一种标识即SSO-Token(token),这种标识是 多个server唯一的,且所有的server都能验证这个token,同时能拿到token背后代表的用户信息
浏览器端:
- 共享cookie模式:将sessionId或者token存储在cookie里,将cookie的路径设置为顶级域名下,这样所有的子域
都能读取到cookie中的token。

需要注意:
1.所有server共享一个身份认证系统
2.所有server都能识别提取token信息
# 单点登录的优缺点
优点:
提高用户效率,不再需要多个id和密码,也不需要多次登录
提示开发效率
简化管理,用户账号管理负担减轻
缺点:
不利于重构,涉及系统太多,需要考虑兼容
安全性不够