单点登录协议有哪些?CAS、OAuth、OIDC等有何异同?( 三 )

  • End User从浏览器中请求访问某SP:https://www.example.com ;
  • https://www.example.com发现用户未登陆,则发起SAML的AuthnRequest请求至IDP, 用户浏览器跳转至IDP页面;
  • IDP发现用户处于未登陆状态,重定向用户至IDP的登陆界面,请求用户进行身份验证
  • 用户在登陆页面中进行身份认证, 通常情况下需要校验用户名和密码;
  • IDP校验用户身份,若成功,则把包含着用户身份信息的校验结果,以SAML Reponse的形式,签名/加密发送给SP;
  • SP拿到用户身份信息以后,进行签名验证/解密,拿到明文的用户身份信息,此时SP处于登陆状态,可以对用户提供服务 。
  • 可以看到,在整个流程中,IDP是负责颁发用户身份,SP负责信任IDP颁发的用户身份, SP和IDP之间的信任关系是需要提前建立的,即SP和IDP需要提前把双方的信息预先配置到对方,通过证书信任的方式来建立互信 。
    SAML协议的标准定义可参考:
    http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html
     
    六、各协议简单对比上面简单介绍了主流的几种SSO协议,本质上它们大同小异,都是基于中心信任的机制,服务提供者和身份提供者之间通过互信来交换用户信息,只是每个协议信息交换的细节不同,或者概念上有些不同 。
    最后,通过一个简单对比表格来总结本文重点内容:
    单点登录协议有哪些?CAS、OAuth、OIDC等有何异同?

    文章插图

    【单点登录协议有哪些?CAS、OAuth、OIDC等有何异同?】


    推荐阅读