核心:三个系统即使域名不一样,想办法给三个系统同步同一个用户的票据;
1、中央认证服务器;ssoserver.com
2、其他系统,想要登录去ssoserver.com登录,登录成功跳转回来
3、只要有一个登录,其他都不用登录
4、全系统统一一个sso-sessionid;所有系统可能域名都不相同
思路
1、访问受保护的主页面,判断是否登录(是否包含session用户数据,或者有token,拿token去ssoserver服务器进行用户查询后,将用户保存到session中),登陆过则访问主页面
2、未登录过,直接跳转ssoserver的登录页面,并携带当前浏览器地址到ssoserver方便登陆后跳回
3、在登录页面输入用户名及密码,ssoserver验证通过后,生成一个token作为redis的key值,用户信息作为value值,保存到redis中,并将token返回给主页面浏览器请求地址

单点登录流程.png