CAS单点登录-介绍(一)
由于之前工作需要都是对接现成的单点登陆服务,基于自己兴趣目前正在研究CAS单点登陆原理和搭建以及不同的应用场景对接方式。特此来记录学习的过程以及分享,希望能帮助大家。
1.CAS是什么?
CAS是Central Authentication Server的缩写 ,中央认证服务,一种独立开放指令协议。CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。开源的企业级单点登录解决方案。
CAS协议是一种简单且功能强大的基于ticke基的协议。完整的协议规范可以在这里找到。官网介绍
它涉及一个或多个客户端和一个服务器。客户端嵌入在CASified应用程序(称为CAS服务)中,而CAS服务器是一个独立的组件:
CAS服务器负责对用户进行身份验证并授予对应用程序的访问权
CAS客户端保护CAS应用程序,并从CAS服务器检索授予用户的身份。
关键概念:
存储在TGC cookie中的TGT(票据授予票据)表示用户的SSO会话。
ST(服务票证)作为url中的GET参数传输,表示CAS服务器为特定用户授予的对CASified应用程序的访问。
2.应用场景
- n个服务系统单点登录 (同一浏览器只需要登录一次)
- 认证授权(API接口鉴权、用户访问权限控制)
3.多协议认证
- CAS
- OAuth2
- OpenID
- SAML
- Rest