应用身份管理服务 ONEACCESS-通过CAS协议单点登录至应用:概述

时间:2024-06-07 09:20:34

概述

CAS是一个基于HTTP2、HTTP3的协议,要求每个组件都可以通过特定的URL访问。通过CAS协议将 OneAccess 作为身份服务提供商,使第三方应用可以读取OneAccess的用户账号数据。支持CAS1.0、CAS2.0、CAS3.0三种协议。

从抽象的角度来看,主要包括CAS协议和授权流程。

  • CAS协议

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

    • CAS Server: CAS服务端,身份认证提供方,如OneAccess认证服务。
    • 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访问资源。
support.huaweicloud.com/bestpractice-oneaccess/oneaccess_05_0024.html