博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CAS与OAuth2的区别
阅读量:7054 次
发布时间:2019-06-28

本文共 800 字,大约阅读时间需要 2 分钟。

CAS与OAuth2的区别

一、

  CAS的单点登录时保障客户端的用户资源的安全 。

  OAuth2则是保障服务端的用户资源的安全 。

二、

  CAS客户端要获取的最终信息是,这个用户到底有没有权限访问我(CAS客户端)的资源。

  OAuth2获取的最终信息是,我(oauth2服务提供方)的用户的资源到底能不能让你(oauth2的客户端)访问。

三、

  CAS的单点登录,资源都在客户端这边,不在CAS的服务器那一方。 用户在给CAS服务端提供了用户名密码后,作为CAS客户端并不知道这件事。 随便给客户端个ST,那么客户端是不能确定这个ST是用户伪造还是真的有效,所以要拿着这个ST去服务端再问一下,这个用户给我的是有效的ST还是无效的ST,是有效的我才能让这个用户访问。

  OAuth2认证,资源都在OAuth2服务提供者那一方,客户端是想索取用户的资源。 所以在最安全的模式下,用户授权之后,服务端并不能直接返回token,通过重定向送给客户端,因为这个token有可能被黑客截获,如果黑客截获了这个token,那用户的资源也就暴露在这个黑客之下了。 于是聪明的服务端发送了一个认证code给客户端(通过重定向),客户端在后台,通过https的方式,用这个code,以及另一串客户端和服务端预先商量好的密码,才能获取到token和刷新token,这个过程是非常安全的。 如果黑客截获了code,他没有那串预先商量好的密码,他也是无法获取token的。这样oauth2就能保证请求资源这件事,是用户同意的,客户端也是被认可的,可以放心的把资源发给这个客户端了。

总结:所以cas登录和OAuth2在流程上的最大区别就是,通过ST或者code去认证的时候,需不需要预先商量好的密码。

转载于:https://www.cnblogs.com/boboooo/p/9041355.html

你可能感兴趣的文章
转 管线开发
查看>>
Struts2学习笔记1
查看>>
远程首次连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析(转)
查看>>
php栈数据结构和括号匹配算法
查看>>
Visual Studio 2013 的 Xamarin 安装教程
查看>>
Spring_Task初探(注解,XML配置)
查看>>
MyEclipse 2015优化技巧
查看>>
众推项目的最近讨论
查看>>
SD卡兼容性问题(转)
查看>>
解决ecshop登陆自动退出的莫名现象
查看>>
面试之求找两个数和为某个数、几个连续数等于某个数
查看>>
【LaTeX排版】LaTeX纸排版<两>
查看>>
C/C++函数调用方式
查看>>
Timer Swing
查看>>
Cassandra命令行CLI的基本使用
查看>>
Java String常见问题
查看>>
x264代码剖析(十五):核心算法之宏块编码中的变换编码
查看>>
Android仿微信进度弹出框的实现方法
查看>>
Spring事务管理
查看>>
[转]所有人都在渲染程序员的中年危机,我们却在劝你重新学会学习
查看>>