https://apereo.github.io/cas/6.6.x/index.html
https://apereo.github.io/cas/6.6.x/protocol/CAS-Protocol.html
CAS协议是一个简单而强大的基于票证的协议。完整的协议规范可以在这里(https://apereo.github.io/cas/6.6.x/protocol/CAS-Protocol-Specification.html)找到。
它涉及一个或多个客户机和一个服务器。客户端嵌入到casfied应用程序中(称为“CAS服务”),而CAS服务器是一个独立的组件:
- CAS服务器负责对用户进行身份验证并授予对应用程序的访问权限
- CAS客户端保护CAS应用程序,并从CAS服务器检索被授予用户的身份。
关键概念是:
- 存储在TGC cookie中的TGT (Ticket Granting Ticket)表示用户的SSO会话。
- ST (Service Ticket)作为url中的GET参数传输,表示CAS服务器为特定用户授予casfied应用程序的访问权限。
1规范版本
以下规范版本由Apereo CAS认可并实现。
3.0.3
目前的CAS协议规范是3.0.3。此处(https://apereo.github.io/cas/6.6.x/protocol/CAS-Protocol-Specification.html)提供了实际的协议规范,现由Apereo CAS Server作为官方参考实现。它主要对CAS协议修订版2.0增强。在其他特性中,版本2.0和3.0之间最引人注目的更新是能够通过新的/p3/serviceValidate端点返回身份验证/用户属性。
2.0
2.0版协议规范可在CAS-Protocol-Specification(https://apereo.github.io/cas/6.6.x/protocol/CAS-Protocol-V2-Specification.html)中获得。
2Web流程图
流程很清晰这里不再解释。
注意点:
- 请求方式
- URL格式
3代理web流程图
CAS协议最强大的特性之一是,一个CAS服务能够充当另一个CAS服务的代理,传输用户身份。