SSO单点登录逻辑

1、什么是单点登录

单点登录指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分

2、单点登录原理

相比于单系统登录,sso需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。间接授权通过令牌实现,sso认证中心验证用户的用户名密码没问题,创建授权令牌,在接下来的跳转过程中,授权令牌(Token)作为参数发送给各个子系统,子系统拿到令牌(Token),即得到了授权,可以借此创建局部会话,局部会话登录方式与单系统的登录方式相同。这个过程,也就是单点登录的原理

用一个例子来演示整个过程:
当前该系统中有一个业务系统:推送系统

  1. 用户通过浏览器访问推送系统
  2. 推送平台前端携带token去请求推送平台的后端
  3. 推送平台的后端调用sso的登录认证接口去验证这个token是否有效。如果有效,放行,推送平台和用户建立局部会话(创建Session);如果无效,给前端返回一个报错
  4. 携带着推送系统的地址重定向到sso认证中心进行登录
  5. 用户登录完成后,生成一份token,写到Cookie中,保存在浏览器上,sso的前端再重定向回推送平台,重定向地址:qcby.push.com?token=xxxxx
  6. 推送平台的前端截取url上的token
  7. 再进行第3步

可以看出,SSO更像是一个中转站

猜你喜欢

转载自blog.csdn.net/m0_51963973/article/details/129964751