Skip to content

单点登录是什么,具体流程是什么

SSO 一般都需要一个独立的认证中心(passport),子系统的登录均得通过passport,子系统本身将不参与登录操作,当一个系统登录成功以后, passport将会办法一个令牌给各个子系统,子系统可以拿着令牌会获取各自手保护资源,为了减少频繁认证,各个子系统在被passport授权以后, 会建立一个局部会话,在一定时间内可以无需再次向 passport 发起认证

具体流程是

  1. 用户访问系统1的受保护资源,系统1发现用户未登录,跳转至sso认证中心,并将自己的地址作为参数
  2. sso认证中心发现用户未登录,将用户引导至登录页面
  3. 用户输入用户名密码提交登录申请
  4. sso认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌
  5. sso认证中心带着令牌跳转回最初的请求地址(系统1)
  6. 系统1拿到令牌,去SSO认证中心校验令牌是否有效果
  7. SSO认证中心校验令牌,返回有效,注册系统1
  8. 系统1使用该令牌创建与用户会话,称为局部会话,返回受保护资源
  9. 用户访问系统2的受保护资源
  10. 系统2发现用户未登录,跳转至sso认证中心,并将自己的地址作为参数
  11. sso认证中心发现用户已登录,跳转回系统2的地址,并附上令牌
  12. 系统2拿到令牌,去sso认证中心校验令牌是否有效、
  13. sso认证中心校验令牌,返回有效,注册系统2
  14. 系统2使用该令牌创建与用户的局部会话,返回受保护资源