美文网首页
SSO认证原理

SSO认证原理

作者: dtdh | 来源:发表于2018-05-07 17:15 被阅读0次

    SSO(Single Sign On)单点登录系统。现在很多系统都由多个子系统组成,为了统一登录,保证登录一次,所有子系统都能访问,提升用户体验,SSO方案由此而生。

    SSO原理

    SSO系统是单独部署的一套认证系统,独立于所有子系统,包含登录认证、授权、用户管理功能。用户需要登录任意业务子系统时,都被重定向到认证中心,通过认证中心登录认证后,就会设置一个全局会话并重定向到子系统。子系统与验证中心通信验证Ticket的真伪,如果Ticket为真则将受保护资源返回给用户。


    SSO认证流程

    SSO流程

    用户登录流程

      1. 用户浏览器访问系统A受保护资源,cookie中sessionID(局部会话)
      1. 系统A检测是否存在局部会话,如果存在则直接返回受保护资源
      1. 系统A将请求重定向到认证中心(重定向时需要指定callback)
      1. 认证中心检测是否存在全局会话(cookie中TGC是否存在)
        ** 4.1)如果全局会话存在,直接跳转步骤8
        ** 4.2)如果全局会话不存在,跳转步骤5
      1. 认证中心显示登录页面
      1. 用户在登录页面填好用户名和密码后,提交
      1. 认证中心检测用户名和密码是否匹配
      1. 认证中心重定向到系统A(参数附带ticket=TGC)
      1. 系统A将ticket提交到认证中心验证
      1. 认证中心返回ticket验证结果
      1. 如果ticket真实,系统A返回请求的资源;如果ticket假的,重复步骤3。

    注:1、局部会话是指浏览器与子系统之间的会话,可以通过cookie或sessionID实现。 2、全局会话是指浏览器与认证中心之间的会话,通过TGC(Ticket Granting Cookie),TGC实际上是CAS系统中的一个概念,用于保存TGT(Ticket Granting Ticket)的ID,也就是说在传输过程中,都是传输的TGT的ID。

    参考

    app-sso 实现原来是怎样的?
    《SSO CAS单点系列》之 实操!轻松玩转SSO CAS就这么简单(相识篇)
    CAS实现单点登录SSO执行原理探究(终于明白了)
    CAS 之自定义登录页实践
    单点登录(SSO)的设计与实现

    相关文章

      网友评论

          本文标题:SSO认证原理

          本文链接:https://www.haomeiwen.com/subject/earvrftx.html