CAS 架构解析
下面引用了cas官方的架构图:
可以看到,主要分为两部分:CAS 客户端,CAS 服务端。通过不同的协议来通信,支持不同的业务场景。
CAS 服务端
CAS 服务端,主要职责是生产发行 ticket
,并使用 ticket
来进行认证
和授权
。当用户登录成功时,会创建一个 SSO 的 session ,并向用户颁发 TGT (ticket-granting ticket ,从名字我们就可以看出来,这是一种用来给 ticket 授权的 ticket。)。使用 TGT 作为 token ,通过浏览器重定向,将 ST(service ticket)传递给目标服务。目标服务所在的客户端接收到 ST 后,通过后端通道与 CAS 服务器通信,以验证 ST 有效性。
CAS 客户端
任何集成了 CAS 客户端程序,通过使用 CAS 支持的协议与 CAS 服务器通信的应用程序或平台,都可以称为 CAS 客户端。比如常见的:Confluence,JIRA 。当然不只是这些,你也可以集成到你的应用,是你的应用成为一个客户端。
支持的协议
支