
# 通过CAS协议单点登录至应用
#### 概述
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访问资源。
   
 
本文主要介绍OneAccess以CAS协议集成应用的方法。
#### 配置流程
![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000002106158148.png)
#### 前提条件
请确保您已拥有OneAccess管理门户的访问权限。
 #### 在OneAccess中添加企业应用
在OneAccess管理门户中添加企业应用，通过配置认证信息，可以建立OneAccess对企业应用的信任关系。
1. 登录OneAccess管理门户。
2. 在导航栏中，单击"资源 \> 应用"。
3. 在企业应用页面，单击自建应用下的"添加自建应用"，设置Logo和名称，单击"保存"。
 
#### 在OneAccess中配置企业应用
在OneAccess中配置应用的信息，确保用户可以通过OneAccess登录企业应用。包括 认证配置、 映射配置、 授权用户。
- 认证配置
  1. 单击[在OneAccess中添加企业应用]中添加的企业应用，在应用信息页面单击应用图标。
  
  2. 在通用信息模块，单击"认证集成"后的![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001536764705.png)打开认证集成设置，此处选择CAS协议，单击"保存"。
     ![](https://support.huaweicloud.com/bestpractice-oneaccess/public_sys-resources/note_3.0-zh-cn.png)
     应用认证集成协议一旦设置不可修改。
     图1设置认证协议   
     ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001536964749.png) 
  
  3. 在通用信息模块，单击"认证集成"后的"配置"，进入"认证集成（CAS）"的"参数配置"页签。
     ![](https://support.huaweicloud.com/bestpractice-oneaccess/public_sys-resources/notice_3.0-zh-cn.png)
     配置参数会明文展示所输入的信息，请防止信息泄露。
     图2配置认证参数   
     ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001485764996.png)
     表1认证参数 
     | 参数      | 说明                                                 |
     |:---|:---|
     | 应用回调URL | 必填。第三方应用的URL，需与CAS接口中service参数值一致，且符合RFC中URL的编码格式。 |
     | 应用退出URL | 选填。应用退出地址，用户在OneAccess注销会话后返回绑定的地址。                |
        
     
   
- 映射配置 在认证配置页面，选择"映射配置"页签，单击"添加映射"，建立OneAccess与应用端属性的映射。
  图3添加映射   
  ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001486084752.png)
  表2映射参数 
  | 参数      | 说明                                  |
  |:---|:---|
  | 应用系统属性名 | 必填。认证成功后，OneAccess返回给应用的用户属性。       |
  | 映射类型    | 必填。不同的映射类型决定不同接口返回属性的属性值，可在下拉框按需选择。 |
     
  
- 授权用户
  选择左侧的"授权管理 \> 应用账号"，单击"添加账号"，授权访问应用的账号。如需根据策略给用户授权，请参考[配置应用](https://support.huaweicloud.com/usermanual-oneaccess/oneaccess_03_0310.html)中应用账号的授权策略。
  ![](https://support.huaweicloud.com/bestpractice-oneaccess/public_sys-resources/note_3.0-zh-cn.png)
  登录配置、访问控制、对象模型等设置请参考[配置应用](https://support.huaweicloud.com/usermanual-oneaccess/oneaccess_03_0310.html)。
  
 
#### 建立企业应用对OneAccess的信任关系
在企业应用中配置OneAccess的授权信息，以建立企业应用对OneAccess的信任。
1. 获取OneAccess侧的认证信息。 
   1. 登录OneAccess管理门户。
   
   2. 在导航栏中，选择"设置 \> 服务配置"进入服务配置页面。
   
   3. 单击"CAS配置"。
   
   4. 在弹出的CAS页面，查看认证地址。 ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001486244684.png)
      表3配置参数 
      | 参数              | 说明                          |
      |:---|:---|
      | Server Prefix   | 系统自动生成，不可编辑。CAS服务地址的前缀。     |
      | Login URL       | 系统自动生成，不可编辑。CAS服务的请求授权地址。   |
      | Validate URL V3 | 系统自动生成，不可编辑。验证票据，推荐使用V3的地址。 |
      | Logout URL      | 系统自动生成，不可编辑。CAS服务的登出地址。     |
      | ST有效期           | 请求授权返回票据的有效期，建议设置为3\~15分钟。  |
         
      
   
   
   
   
2. 获取企业应用的授权信息。获取方法请参见应用提供商的帮助文档。
 
#### OneAccess用户登录验证
使用[授权用户]中的已授权用户访问用户门户，成功登录以后，单击目标应用即可进入企业应用。
