解读认证和授权 OAuth、SSO、CAS、JWT

浅显易懂 解读认证和授权 OAuth、SSO、CAS、JWT (原文作者挺NB的一个人感觉)

注意目前主流可以实现sso的是:CAS、oauth2、JWT

LDAP就是LDAP跟sso的用途是并列关系,没有绝对关系。

一  概念

CAS(Central Authentication Service,中央式认证服务)

SSO(Single Sign-On,单点登录系统)

LDAP(Lightweight Directory Access Protocol,轻型目录访问协议) ,我们通常说的LDAP是指运行这个数据库的服务器,可以简单理解AD =LDAP服务器+LDAP应用

OAUTH2.0(是一种授权机制,主要用来颁发令牌(token))

TOKEN(Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码)

JWT(JSON WEB TOKEN)

二 大白话理解

cas 是对sso的实现,用于单点登录,更适用于B/S结构,多个系统使用同一个登录服务器。相当于一个大公司有很多部门,进了公司的大门,各个部门都可以进了

ldap 适用企业树形结构用户的存储,更适用于C/S结构

oauth2.0 是一种授权协议,是抽象的概念,是一个系统被授权登录与另一系统。相当于一个想进一个公司,可以通过另一个公司的门禁卡进入。

token 令牌,是实现各种登录的 介质。相当于门禁卡

jwt 是token的一种类型

三 对比 cas和 OAuth2

CASOAuth2
保障客户端的用户资源的安全 保障服务端的用户资源的安全
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去认证的时候,需不需要预先商量好的密码。
表格文字转载原文:
CAS与OAuth2的区别 - 牛初九 - 博客园

————————————————
版权声明:本文为CSDN博主「哇哈哈6469」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/huixin634419817/article/details/115251892

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值