CAS Protocol

CAS - CAS Protocol https://apereo.github.io/cas/6.4.x/protocol/CAS-Protocol.html

CAS Protocol

The CAS protocol is a simple and powerful ticket-based protocol. The complete protocol specification may be found here.

It involves one or many clients and one server. Clients are embedded in CASified applications (called “CAS services”) whereas the CAS server is a standalone component:

  • The CAS server is responsible for authenticating users and granting accesses to applications
  • The CAS clients protect the CAS applications and retrieve the identity of the granted users from the CAS server.

The key concepts are:

  • The TGT (Ticket Granting Ticket), stored in the TGC cookie, represents a SSO session for a user.
  • The ST (Service Ticket), transmitted as a GET parameter in urls, stands for the access granted by the CAS server to the CASified application for a specific user.

Specification Versions

The following specification versions are recognized and implemented by Apereo CAS.

3.0.3

The current CAS protocol specification is 3.0.3. The actual protocol specification is available here, which is hereby implemented by the Apereo CAS Server as the official reference implementation. It’s mainly a capture of the most common enhancements built on top of the CAS protocol revision 2.0. Among other features, the most noticeable update between versions 2.0 and 3.0 is the ability to return the authentication/user attributes through the new /p3/serviceValidate endpoint.

2.0

The version 2.0 protocol specification is available at CAS-Protocol-Specification.

Web flow diagram

 

 

Proxy web flow diagram

One of the most powerful feature of the CAS protocol is the ability for a CAS service to act as a proxy for another CAS service, transmitting the user identity.

 

posted @   papering  阅读(156)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2019-12-06 Linux进程内存用量分析之堆内存篇
2019-12-06 哨兵
2019-12-06 调度 GMP
2018-12-06 wireshark udp 序列号 User Datagram Protocol UDP 抓包 Wireshark
2018-12-06 Maven 的聚合(多模块)和 Parent 继承
2018-12-06 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
2017-12-06 深度学习与语义表示学习
点击右上角即可分享
微信分享提示