
# 通过OIDC协议单点登录至应用
 #### 概述
OIDC是OpenID Connect的简称，是一个基于OAuth 2.0协议的身份认证标准协议。关于OIDC的详细描述请参见[欢迎使用OpenID Connect](https://openid.net/connect/)。
本文主要介绍OneAccess以OIDC协议集成应用的方法。
#### 配置流程
![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000002141829341.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_0000001536964873.png)打开认证集成设置，此处选择OIDC协议，单击"保存"。
     ![](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_0000001486084860.png) 
  
  3. 在通用信息模块，单击"认证集成"后的"配置"，进入"参数配置"页签。
     ![](https://support.huaweicloud.com/bestpractice-oneaccess/public_sys-resources/note_3.0-zh-cn.png)
     配置参数会明文展示所输入的信息，请防止信息泄露。
     表1认证参数 
     | 参数               | 说明                                                                                                                                                                                                          |
     |:---|:---|
     | Redirect URL     | 必填。成功授权后的回调地址，必须在可信域名范围内（多个域名以逗号分隔），可以接收并处理授权的地方，建议为应用首页，如https://example.com。                                                                                                                              |
     | Logout URL       | 可选。应用退出地址。用户在OneAccess注销会话后返回绑定的地址。                                                                                                                                                                         |
     | 授权码模式            | 默认开启。是使用最广泛的一种认证模式，适用于前后端分离的应用。具体的授权码模式可参考[概述]。                                                                                                                       |
     | 隐式授权模式           | 默认关闭。适用于没有后端的应用，与授权码模式相比，省略了获取授权码code环节。                                                                                                                                                                    |
     | TOKEN签名算法        | 默认为RS256，对Token签名的算法，可在下拉框选择。用户需要与自身系统中使用的加密算法进行匹配。                                                                                                                                                         |
     | Access Token有效期  | 授权令牌的有效期，默认2小时，以秒为单位。                                                                                                                                                                                       |
     | Refresh Token有效期 | 刷新令牌的有效期，默认0，即不支持Refresh Token。当Access Token过期后，用户可通过Refresh Token实现自动更新令牌。 说明： 实现自动更新令牌的前提是设置Refresh Token有效期大于Access Token的有效期。 |
        
     
   
- （可选）映射配置
  在认证集成页面，选择"映射配置"页签，单击"添加映射"，建立OneAccess与应用端属性的映射。
  表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侧的ClientId 和 ClientSecret。 
   单击[在OneAccess中添加企业应用]中添加的企业应用，在应用信息页面单击应用图标，在应用详情页面获取 ClientId 和 ClientSecret。
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/public_sys-resources/note_3.0-zh-cn.png)
   - ClientSecret需单击"启用"生成。
   
   - ClientSecret是校验开发者身份的密码，具备高安全性，切勿将其直接提供给第三方开发者或直接存储在代码中。
   
   - 重置后的ClientSecret即时生效，所有使用原ClientSecret的接口将全部失效，请谨慎重置。
   
   - OneAccess不存储ClientSecret，当获取ClientSecret后，请妥善保管。
    
   图2获取ClientId和ClientSecret   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001915095564.png)
   
   
2. 获取OneAccess侧的认证信息。 
   1. 登录OneAccess管理门户。
   
   2. 在导航栏中，选择"设置 \> 服务配置"进入服务配置页面。
   
   3. 单击"OIDC"
   
   4. 在弹出的OIDC页面，查看认证地址，单击右上角的"OIDC设置"可以查看配置认证参数。
   
   
   
   
3. 获取企业应用的授权信息。获取方法请参见应用提供商的帮助文档。
 
#### OneAccess用户登录验证
使用[授权用户]中的已授权用户访问用户门户，成功登录以后，单击目标应用即可进入企业应用。
