
# 配置OIDC认证源
#### 概述
为方便企业用户的认证登录，OneAccess平台支持配置OIDC协议作为认证源，用户可以通过OIDC协议认证登录各应用系统，为企业用户带来更简易便捷的登录方式和更好的用户体验。
OIDC是OpenID Connect的简称，是一个基于OAuth 2.0协议的身份认证标准协议。关于OIDC的详细描述请参见[欢迎使用OpenID Connect](https://openid.net/connect/)。
本文主要介绍OneAccess以OIDC协议集成第三方认证源的方法。以Okta为例。
#### 前提条件
- 请确保您已拥有Okta平台的管理员权限。具体可参考Okta平台的帮助文档。
- 请确保您已拥有OneAccess管理门户的访问权限。
 
#### 在Okta平台上创建应用
在Okta平台上创建应用，并配置OneAccess的授权信息，可以建立Okta对OneAccess的信任。
1. 登录Okta平台。
2. 在Okta平台，选择"Applications \> Add Application \> Create New App"，设置参数，创建应用。具体可参考Okta开放平台的帮助文档。 
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/public_sys-resources/note_3.0-zh-cn.png)
   配置应用时，Login redirect URIs填写OneAccess添加认证源时自动生成的调用地址，可参考[表1]。示例：https://xxx.huaweioneaccess.com/api/v1/oidc/sso/2\*\*\*71-8\*\*\*-D\*\*\*1。
   图1配置参数   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001518184242.png)
   图2配置Login redirect URIs   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001568704285.png)
   
   
3. 配置应用参数，授权用户 。具体可参考Okta平台的帮助文档。
   
   图3配置应用参数   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001517705134.png)
   图4授权用户   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000001568864181.png)
   
   
 #### 在OneAccess中添加OIDC认证源
在OneAccess中添加OIDC认证源，并配置应用的信息，确保用户可以通过OIDC登录OneAccess用户门户。
1. 登录OneAccess管理门户。
2. 在导航栏中，选择"认证 \> 认证源管理 \> 企业认证源 \> OIDC"，配置参数。
3. 在OIDC认证源页面，单击右上方"添加认证源"，配置参数。 
   图5配置参数   
   ![](https://support.huaweicloud.com/bestpractice-oneaccess/zh-cn_image_0000002143878097.png)
   
    表1配置参数 
   | 参数              | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                               |
   |:---|:---|:---|
   | 图标              | 否    | 支持png/jpg/gif 格式的图片，且图片大小不超过50K。建议尺寸32\*32px。                                                                                                                                                                                                                                                                                                                                                    |
   | 显示名称            | 是    | 认证源的显示名称，支持自定义。如OIDC认证。                                                                                                                                                                                                                                                                                                                                                                          |
   | 认证方式            | 是    | 认证用户的方式，选择**主动发起认证**。 说明： - 认证方式确认后不支持修改。  - 如果需要从应用侧发起认证，请选择认证源发起认证。                                                                                               |
   | 公钥格式            | 是    | 根据应用选择相应的公钥格式。                                                                                                                                                                                                                                                                                                                                                                                   |
   | 公钥              | 是    | 在OIDC的jwks_uri中获取或由认证源管理员提供，与公钥格式相匹配。 - 公钥格式为**JWKURL**时，公钥为 https://{Okta域名}/oauth2/v1/keys。  - 公钥格式为**JSON格式公钥**时，公钥为 https://{Okta域名}/oauth2/v1/keys 中的value值。   |
   | 签名算法            | 是    | 默认为RS256。                                                                                                                                                                                                                                                                                                                                                                                        |
   | Audience        | 是    | 当**认证方式** 选择**认证源发起认证** 时，该参数对应[1]中创建应用生成的Audience的值。                                                                                                                                                                                                                                                                                                     |
   | 流程类型            | 是    | 根据应用配置选择对应的流程类型，如授权码模式，可在下拉框选择。                                                                                                                                                                                                                                                                                                                                                                  |
   | response Type   | 是    | 默认为code。                                                                                                                                                                                                                                                                                                                                                                                         |
   | Scope           | 是    | 对应OIDC认证源端scopes的配置，必须包含"openid"，如openid email。                                                                                                                                                                                                                                                                                                                                                  |
   | AuthrozationUrl | 是    | 对应OIDC认证源端"EMBED LINK"的值。                                                                                                                                                                                                                                                                                                                                                                        |
   | ClientId        | 是    | 对应OIDC认证源端"Client ID"的值。                                                                                                                                                                                                                                                                                                                                                                         |
   | PKCE            | 是    | 默认禁用，根据应用配置选择是否启用。如**认证方式** 选择**主动发起认证**，则开启。                                                                                                                                                                                                                                                                                                                                                    |
   | TokenUrl        | 是    | Token地址，在OIDC的token_endpoint中获取，格式为 https://{Okta域名}/api/v1/oauth2/token。                                                                                                                                                                                                                                                                                                                        |
   | LogoutUrl       | 否    | 应用的全局退出地址，在应用端获取。                                                                                                                                                                                                                                                                                                                                                                                |
   | 调用地址            | 是    | 系统默认生成。对应应用的Login redirect URIs 参数。                                                                                                                                                                                                                                                                                                                                                              |
   | 关联源属性           | 是    | OIDC认证源端用户的唯一属性。如email。                                                                                                                                                                                                                                                                                                                                                                          |
   | 关联用户属性          | 是    | OIDC认证源对接OneAccess的映射属性。如邮箱，可在下拉框选择                                                                                                                                                                                                                                                                                                                                                              |
   | 未关联用户时          | 是    | 当用户使用OIDC认证源登录成功后，如未关联到系统用户时，可以根据该设置进行操作，如自动创建用户，可在下拉框选择。                                                                                                                                                                                                                                                                                                                                        |
      
   如果您需要同时映射其他属性，如姓名，可以设置"**未关联用户时** "为"**自动创建用户** "，通过单击"添加映射"完成。可参考[表2]。
    表2映射参数 
   | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|
   | 用户属性名 | OIDC应用对接OneAccess的映射属性，可在下拉框选择，如姓名。                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 映射类型  | OneAccess与OIDC应用之间用户属性的映射方式，可在下拉框选择，如认证源属性。 说明： - 当选择"映射类型"为"认证源属性"时，需要同时输入"认证源属性名"。  - 当选择"映射类型"为"固定属性值"时，需要同时输入"固定属性值"。  - 当选择"映射类型"为"脚本转换"时，需要同时输入"脚本内容"。   |
      
   
   
 
