美文网首页程序员
单点登录SSO、CAS与OAuth2

单点登录SSO、CAS与OAuth2

作者: TXN | 来源:发表于2017-11-08 18:53 被阅读3524次

    基础概念

    SSO 单点登录(Single sign-on)是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。(来自百度百科)

    CAS 中央认证服务(Central Authentication Service)
    CAS是一种针对Web的企业多语言单点登录解决方案,并试图成为您的认证和授权需求的综合平台。(https://github.com/apereo/cas
    CAS是一个企业级的开放源代码单点登录解决方案,包含Java服务器组件和各种用PHP,PL / SQL,Java等多种语言编写的客户端库。(https://wiki.jasig.org/display/CASUM/Introduction

    Kerberos 是一种计算机网络 认证协议。(来自wiki)

    OpenID 是一种开放标准和分散的认证协议。

    OAuth 是一种访问授权的开放标准。

    SAML 安全断言标记语言(Security Assertion Markup Language) 是一种开放标准,用于在认证和授权数据之间交换身份验证和授权数据

    LDAP 轻量级目录访问协议(Lightweight Directory Access Protocol )

    CAS 协议

    https://apereo.github.io/cas/5.1.x/protocol/CAS-Protocol.html
    http://www.coin163.com/java/cas/cas.html

    Kerberos协议

    完整的Kerberos认证协议
    TODO 后续补充
    http://gost.isi.edu/publications/kerberos-neuman-tso.html
    http://blog.csdn.net/wulantian/article/details/42418231

    OAuth 2.0的运行流程

    OAuth 2.0的运行流程如下图,摘自RFC 6749。

    OAuth 2.0的运行流程图
    (A)用户打开客户端以后,客户端要求用户给予授权。
    (B)用户同意给予客户端授权。
    (C)客户端使用上一步获得的授权,向认证服务器申请令牌。
    (D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
    (E)客户端使用令牌,向资源服务器申请获取资源。
    (F)资源服务器确认令牌无误,同意向客户端开放资源。

    授权码模式

    授权码模式运行流程图
    (A)用户访问客户端,后者将前者导向认证服务器。
    (B)用户选择是否给予客户端授权。
    (C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。
    (D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。
    (E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。
    https://oauth.net/2/
    http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

    关键技术

    对称加密 DES AES
    非对称加密 RSA
    散列算法 MD5 SHA/SHA-1
    数据签名
    数据证书
    HTTPS/SSL
    Spring Security

    其他相关

    多因素认证

    相关文章

      网友评论

        本文标题:单点登录SSO、CAS与OAuth2

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