• CAS 和 OAuth 的区别是什么?


    在这里插入图片描述
    单点登录英文全称 Single Sign On,简称 SSO。它的定义是:在多个应用系统中,用户只需要登录一次,即可访问所有相互信任的应用系统。例如,常见的单点登录是通过一次登录访问各种应用程序。例如,登录您的员工账号就可以让您访问飞书、销售易、客户系统等应用程序,无需再次输入账号和密码。

    常见的 OIDC、OAuth 2.0、SAML2、CAS 3.0、LDAP为标准认证协议。标准协议会按照特定的方式传递用户信息,正规的业务系统产品都会支持标准协议,使用标准协议对接可以一劳永逸地完成对接。

    什么是 OAuth

    OAuth 是一种关于授权(Authorization)的开放网络标准,是目前最流行的授权机制,在客户与服务商之间,设置授权层。客户必须先登录授权层,此时服务商会向客户授权令牌的权限及使用期限,然后客户才能登录服务商,使用其服务。

    OAuth 2.0 有四种授权模式:

    • 授权码(Authorization-code):指的是第三方应用先申请一个授权码,然后再用该码获取令牌。该方式是最常用的流程,安全性也最高,它适用于那些有后端的Web应用。
    • 隐藏式(Implicit):该模式面向纯前端应用,App 认证服务器只返还一次授权码。
    • 密码式(Password):允许客户端或者第三方应用,直接使用用户的账号密码进行令牌的获取。该方式在用户端应用广泛。
    • 凭证式(Client credentials):适用于没有前端的命令行应用,即在命令行下请求令牌。该方式操作简单,只需要发送客户请求,即可获得访问令牌(Access Token),但这种方式非常不安全,需要对客户端完全信任,且客户端本身需要具备安全性。

    常见的 OAuth 2.0 授权流程如下:

    1.在你的应用中,让用户访问登录链接,浏览器跳转到 Authing,用户在 Authing 完成认证。 浏览器接收到一个从 Authing
    2.服务器发来的授权码。
    3.浏览器通过重定向将授权码附带在重定向地址后面。
    4.你的应用服务将授权码发送到 Authing 获取 AccessToken,如果需要,还会返回 refresh token。
    5.你的应用后端现在知道了用户的身份,后续就可以保存用户信息,重定向到前端其他页面,使用 AccessToken 调用资源方的其他 API 等等。

    在这里插入图片描述

    目前最新的版本为 OAuth 2.0 版,主要有四个主体:

    • 授权服务器,负责颁发访问令牌(Access Token),Authing 是授权服务器。
    • 资源所有者,应用的用户是资源的所有者,授权其他人访问其资源。
    • 调用方,调用方请求获取访问令牌(Access Token),经过用户授权后,Authing 为其颁发访问令牌(Access Token)。调用方可以携带访问令牌(Access Token)到资源服务器访问用户的资源。 资源服务器,接受访问令牌(Access Token),然后验证它的被赋予的权限项目,最后返回资源。

    什么是 CAS

    CAS 框架:CAS(Central Authentication Service,即:统一认证服务)是实现 SSO 单点登录的框架。

    CAS 术语

    Ticket Granting Ticket (TGT) :可以认为是 CAS Server 根据用户名密码生成的一张票,存在 Server 端。

    Ticket Granting Cookie (TGC) :其实就是一个 Cookie,存放用户身份信息,由 Server 发给 Client 端。

    Service Ticket (ST) :由 TGT 生成的一次性票据,用于验证,只能用一次。相当于 Server 发给 Client 一张票,然后 Client 拿着这个票再来找 Server 验证,看看是否由 Server 签发。

    在 CAS 协议中,定义了 Service Ticket 作为客户端与服务器之间随机的票据,授权流程如下:

    1.访问服务:客户端发送请求访问应用系统提供的服务资源。
    2.定向认证:客户端会重定向用户请求到服务器。
    3.用户认证:定向到服务器后,用户进行身份认证。
    4.发放票据:服务器会产生一个随机的 Service Ticket 。
    5,验证票据:服务器会验证票据 Service Ticket 的合法性。
    6.传输用户信息:服务器验证票据通过后,传输用户认证结果信息给客户端。

    OIDC、OAuth 2.0、SAML2、CAS 3.0 标准认证协议具体对比:
    在这里插入图片描述
    在这里插入图片描述

    点击链接,立刻了解 Authing!

  • 相关阅读:
    CI2454集成2.4G收发SOC【遥控;灯具;玩具】技术开发资料
    【你问我答】Unity实现类似DNF地下城勇士的2D人物移动跳跃
    Sealos 云主机正式上线,便宜,便宜,便宜!
    threejs材质的贴图(四)
    1.1.4 基于Ubuntu的lamp
    11.Linux系统:定时任务备份mysql数据库为文件并传输到其他服务器
    C++中数组和指针的类似之处
    [ 漏洞复现篇 ] OpenSSH 命令注入漏洞 (CVE-2020-15778)
    Activiti7审批流
    有用FPGA开发长光辰芯HR400BSI探测器的吗?有偿请教技术问题
  • 原文地址:https://blog.csdn.net/Authing/article/details/127799446