http认证鉴权05CAS和OAuth2区别

二者区别主要集中在以下几个方面

目的不同

cas是用作单点登录的,oauth2是用来做授权的。

保护对象不同

cas保护的用户名密码(st可以看作用户名密码的等价物)。oauth2,保护的是code,code等价于用户名+密码+数据使用范围限制(第三方登录时,可以选择是否提供手机号,头像等信息给被授权方使用。

区别很大?并非如此

CAS和Oauth2乍一看区别很大。
譬如常见的流程图解

CAS

OAuth2

但是如果我们将CAS的流程图拍平,也修改为OAuth2的形式进行展示。那么二者的本质就体现出来了。
如下图右侧部分


二者步骤比对图
注意:右图跳转均为重定向,所以流程不大准确。比如2,实际是返回浏览器,浏览器负责跳转(url地址会变,但信息的流动方向并没变),所以也是对的。

可见:如果忽略参与者角色命名的差异。二者流程高度相似
oauth2流程中,从开始到获取code的步骤,和CAS高度一致。
cas登录相对oauth2,在流程上的最大区别就是,通过ST或者code去认证的时候,需不需要预先商量好的密码(appId,appSecret),此外还回保存casServer下发的TGC(多保存了一个信息而已,整体信息流并未变化)。
oauth2比cas覆盖更广,基本内嵌了cas步骤,不过多了一个步骤,就是通过code获取token的步骤。

参考

左图:OAuth2认证流程:www.bubuko.com/infodetail-3429543.html
右图:统一身份认证(CAS)简单说明与设计方案:https://www.pianshen.com/article/9667458367/
cas和oauth2的区别:https://www.cnblogs.com/xiaohan970121/p/12054566.html
SSO单点登录和OAuth2.0的区别和理解:www.qishunwang.net/news_show_54343.aspx
CAS的单点登录和oauth2的最大区别:https://blog.csdn.net/sky786905664/article/details/81141225

认证鉴权系列
http认证鉴权01基本认证和摘要认证
http认证鉴权02同域SSO
http认证鉴权03跨域SSO之CAS
http认证鉴权04跨域SSO之OAuth2入门
http认证鉴权05CAS和OAuth2区别
http认证鉴权06CSRF跨站请求伪造

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×