CAS

认证协议
最后更新时间: 1/19/2024, 6:04:34 PM

# 什么是CAS

CAS是一个基于HTTP2,3的协议,它要求每个组件都可以通过特定的uri访问。

通过CAS协议将IDaaS作为身份服务提供商,使第三方应用可以读取IDaaS的用户账号数据。

我们支持CAS1.0、CAS2.0、CAS3.0三种协议。

# CAS 协议简介

在CAS 协议中,涉及到两个主体。

  • CAS Server: CAS服务,身份认证提供方,如竹云IDaaS认证服务。
  • CAS Client: CAS客户端,资源提供方,如第三方应用。

这两个主体通过用户浏览器进行信息交换。方式上,比如CAS Client可以返回带参数的重定向,将信息转发给CAS Server。登录验证成功后CAS Server会返回CAS Client一个包含用户信息的XML, CAS Client验证用户信息后会返回给用户访问资源。

# 理解CAS流程

  1. 用户试图登录CAS Client提供的应用。
  2. CAS Client会分析该请求的Http请求中是否包含认证票据ST,如果没有,则说明当前用户尚未认证,于是重定向CAS Server,并传递Service (也就是要访问的目的资源地址)。
  3. 用户输入认证信息,如果登录成功,CAS Server随机产生一个相当长度、唯一、不可伪造的票据ST,然后附带生成的ST重定向到CAS client。
  4. CAS Client在拿到Service和新产生的ST过后,通过后台与CAS Server进行交互验证。
  5. CAS Server根据请求参数Service和ST进行身份核实,以确保ST的合法性,并返回一段指定格式的XML(包含用户信息)给CAS Client。
  6. CAS Client和CAS Server之间完成了一个对用户的身份核实,返回给用户CAS Client访问资源。