
# 配置HetuEngine对接外部OAuth 2.0
#### 操作场景
本章节指导用户从零开始使用HetuEngine对接外部OAuth 2.0，以实现OAuth 2.0认证。
#### 约束与限制
- 仅集群已启用Kerberos认证（安全模式）支持该功能。
- HetuEngine只允许配置对接一个外部OAuth 2.0。
- 本章节仅适用于MRS 3.6.0-LTS.1及之后版本。
 
#### 操作步骤
1. 登录Manager页面，选择"集群 \> 服务 \> HetuEngine \> 配置 \> 全部配置"，在右上角搜索框中搜索[表1]的参数，配置对接外部OAuth 2.0相关参数。
   
    表1对接外部OAuth 2.0参数 
   | 参数名称                                                   | 默认值           | 建议值                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 参数配置文件                        |
   |:---|:---|:---|:---|:---|
   | http-server.authentication.type                        | KERBEROS和HETU | 按实际情况选择参数值： - KERBEROS  - HETU  - KERBEROS和HETU  - KERBEROS和HETU和oauth2   | 为Coordinator配置身份验证类型列表。 - KERBEROS：kerberos认证。  - HETU：基于hetu的密码认证。  - oauth2：oauth 2.0认证。   | coordinator.config.properties |
   | http-server.authentication.oauth2.client-id            | -             | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | HetuEngine客户端的公共标识符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | coordinator.config.properties |
   | http-server.authentication.oauth2.client-secret        | -             | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 用于授权服务器授权HetuEngine客户端的密钥。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | coordinator.config.properties |
   | http-server.authentication.oauth2.issuer               | -             | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | IdP的发行者URL，所有签发的Token必须在iss字段中包含此值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | coordinator.config.properties |
   | http-server.authentication.oauth2.principal-field      | sub           | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 用于HetuEngine用户主体的访问令牌的字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | coordinator.config.properties |
   | http-server.authentication.oauth2.refresh-tokens       | true          | true                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 是否启用刷新令牌。 - true：启用刷新令牌。  - false：不启用刷新令牌。                                                                                                                                                                                   | coordinator.config.properties |
   | http-server.authentication.oauth2.user-mapping.pattern | (.\*)(@.\*)   | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 正则表达式用于匹配用户。如果匹配成功，则将用户名替换为第一个正则表达式捕获组中的内容。如果未匹配成功，则拒绝认证。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | coordinator.config.properties |
      
   
   
2. 单击左上方的"保存"，在弹出的对话框中单击"确定"保存配置。
3. 单击"概览"，在页面右上方选择"更多 \> 重启服务"，重启HetuEngine服务使参数生效。
4. 如果存在运行中的计算实例需重启HetuEngine计算实例。 
   1. 使用HetuEngine管理员用户登录Manager界面，选择"集群 \> 服务 \> HetuEngine \> 概览"，单击"HSConsole WebUI"后面的链接，进入HSConsole界面。
   
   2. 单击"计算实例"，勾选待操作的实例，单击"重启"按钮重启HetuEngine计算实例。
   
   
   
   
5. 使用客户端提交SQL请求。
 
