最近都有接触统一认证CAS和OAuth2,就大致了解下,总结下
1、CAS认证
CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。旨在为 Web 应用系统提供一种可靠的单点登录方法。
CAS由CAS Server和CAS Client两部分组成。
1.CAS Server:统一认证服务器,用于验证单点登陆的服务器。
2.CAS Client:共享CAS Server登录态的客户端。涉及共域,比如 CAS Server为cas.xxx.com,其他CAS Client为xx1.xxx.com,xx2.xxx.com
CAS三个重要术语:TGT(Ticket Granting Ticket)、TGC(Ticket Granting Cookie)和ST(Service Ticket)。
1.TGT为用户登录后生成的票根,包含用户的认证身份、有效期等,存储于CAS Server中,类似于服务器会话,用于验证是否登陆或登陆是否已过期。
2.TGC存储于cookie中,类似于会话ID,值为TGT的ID,用户与CAS Server交互时,帮助用户查找相应的TGT。
3.ST为CAS Server签发的一张一次性票据,可以通过TGC去获取,CAS Client使用ST与CAS Server进行交互,获取用户的验证状态。
以oa为例,画个流程图:
2、OAuth2认证
OAuth是一个关于授权(authorization)的开放网络标准,用来授权第三方应用获取用户数据,是目前最流行的授权机制,它当前的版本是2.0。
简单来说,OAuth2认证的话,主要是需要获取认证中心的令牌token,通过令牌token可以去请求所需要资源,从而进行登陆等操作。
详细参考:【集合】统一身份认证(CAS)和OAuth2的工作流程