集中式认证服务

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2016/10/09/cas/

CAS全称Central Authentication Service,中文名集中式认证服务。

CAS是一种针对万维网的单点登录协议。它的目的是允许一个用户访问多个应用程序,而只需提供一次凭证(如用户名和密码)。它还允许web应用程序在没有获得用户的安全凭据(如密码)的情况下对用户进行身份验证。CAS即指协议,也指实现了该协议的软件包。

CAS最早由Yale发起,目前有三个版本,即v1,v2,v3。

相关定义

Client

终端用户或者是 WEB 浏览器

Server

统一认证服务所在的服务器

Service

终端用户或者 WEB 浏览器试图访问的应用

Proxy

作为代理的服务,用户通过该服务(代理)访问Back-end service(后端应用)

Back-end service

用户通过代理访问的应用,这个应用就被称为后端服务(Back-end service) 。它也被称作“target service”目标服务

TGT

Ticket Grangting Ticket 。TGT是CAS为用户签发的登录票据,拥有了TGT,用户就可以证明自己在CAS成功登录过。TGT封装了Cookie值以及此Cookie值对应的用户信息。当HTTP请求到来时,CAS以此Cookie值为key查询缓存中有无TGT ,如果有的话,则相信用户已登录过。

ST

Service Ticket 。ST是CAS为用户签发的访问某一service的票据。用户访问service时,service发现用户没有ST,则要求用户去CAS获取ST。用户向CAS发出获取ST的请求,CAS发现用户有TGT,则签发一个ST,返回给用户。用户拿着ST去访问service,service拿ST去CAS验证,验证通过后,允许用户

TGC

Ticket Grangting Cookies 保持TGT信息的cookies,保存在使用浏览器的客户端

PGT

Proxy TicketGranting Ticket。Proxy Service认证成功后,CAS会生成PGT,并将值回传给Proxy Service 。Proxy Service拿到PGT后,就可以为Target Service做代理,为其申请PT。

PGTIOU

Proxy TicketGranting Ticket IOU。PGTIOU是CAS协议中定义的一种附加票据,它增强了传输、获取PGT的安全性。

PT

Proxy Ticket。PT是用户访问Target Serivce的票据。用户经由Proxy Service去CAS获取到PT后,再访问Target Serivce,Target Serivce去CAS验证PT成功后,才允许用户访问。

Web登录流程图

web-cas

网址定义

CAS作为一个规范,规定了一系列需要暴露的服务端

/login 登录
/logout 登出
/validate 验证ST
/serviceValidate 验证ST [CAS 2.0]
/proxyValidate 验证PT [CAS 2.0]
/p3/serviceValidate ST验证 [CAS 3.0]
/p3/proxyValidate PT验证 [CAS 3.0]

 

参考文档

CAS标准:https://apereo.github.io/cas/4.2.x/protocol/CAS-Protocol-Specification.html

CAS实现:https://www.apereo.org/projects/cas

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2016/10/09/cas/

发表评论