CAS

7/7/2020 认证协议

# 什么是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访问资源。
Last Updated: 7/5/2021, 6:30:32 PM