
# 创建Rest Service（自定义连接器）
#### 使用说明
通过依次创建Rest Service和Rest Action，使得系统可以调用第三方提供的Rest协议的接口，实现第三方提供的业务功能。
#### 操作步骤
1. 参考[登录经典应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_5025.html)中操作，登录经典版应用设计器。
2. 在左侧列表中，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932887216.png)，选择"自定义连接器 \> 自定义连接器"。
3. 单击"+"，配置基本信息，单击"保存"。 
   图1新建服务入口   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285917.png "点击放大")
   - 标签：REST服务的标签名。
   
   - 名称：REST服务的名称，系统会自动在该名称前添加***命名空间***__。
   
   - 图标：REST服务的图标。
   
   - 描述：REST服务的相关描述信息。
   
   
   
   
4. 在"认证信息"页签，单击"新建"，进入添加认证信息页面。
5. 设置认证信息，单击"保存"。 
   可以新建多个认证，不同的Rest Action可以有不同的认证方式。
   图2配置认证信息   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960126121.png "点击放大")
   - 标签：认证的标签名。
   
   - 名称：认证在系统中的唯一标识，系统会自动在该名称前添加***命名空间***__。
   
   - 目录：认证所属的目录分类名称。
   
   - 描述：认证的描述信息。
   
   - 使用证书：服务端是否需要客户端证书，是否需要进行双向认证。勾选"使用证书"时，需要配置证书类型，证书和密钥。
   
   - 使用根证书：客户端是否需要服务端证书，是否需要进行双向认证。 勾选"使用根证书"时，需要提前在管理中心开启根证书校验并上传根证书，具体操作请参见[管理HTTPS根证书](https://support.huaweicloud.com/usermanual-astrozero/astrozero_06_0019.html)。上传后，在根证书下拉框中选择对应的证书即可。
     
   
   - API主机地址：配置此地址后，可以限定REST操作的请求前缀，防止敏感信息泄露。每次更改此地址，都需要重新配置鉴权信息。
   
   - 打包当前配置：选中该选项后，应用打包时会将当前配置的连接器信息一并打出。例如，如果应用包发布到运行环境，当前配置默认为被同步到运行环境中。默认为选中，对信息敏感的场景，建议不勾选。
   
   - 可选设置 \> 鉴权设置
     - 鉴权协议：设置鉴权协议，支持OAuth、简单消息头和JWT（JSON Web Tokens）三种。
     
     - 鉴权模式：设置为"client credentials"，此处只支持OAuth2的client credentials鉴权模式。
     
     - 鉴权地址：第三方系统OAuth2协议，获取的token地址。例如，AstroZero获取token的地址为"https://{host}:{port}/baas/auth/v1.0/oauth2/token"，这里需要填入第三方系统的。
     
     - Client ID：OAuth2协议中的client id。如果该REST Service是AstroZero提供的，可通过如下方法查看：
       1. 登录AstroZero经典版环境配置。
       
       2. 在左侧导航栏中，选择"系统管理 \> OAuth"，进入OAuth管理页面。
       
       3. 在OAuth认证列表中，查看对应鉴权的"客户端Id"。
        
     
     - Client Secret：OAuth2协议中的client secret。如果该REST Service是AstroZero提供的，可通过如下方法查看：
       1. 登录AstroZero经典版环境配置。
       
       2. 在左侧导航栏中，选择"系统管理 \> OAuth"，进入OAuth管理页面。
       
       3. 在OAuth认证列表中，查看对应鉴权后![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932887400.png)。
       
       4. 在弹出的警告页面，单击"确定"，将密钥文件下载到本地。 密钥文件中的client_secret，即为Client Secret的值。
          ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932887404.png "点击放大")
          
        
     
     - 消息体属性：从鉴权接口返回的，消息字段的映射规则。 根据OAuth2标准协议，返回体一般如[图3]所示。由于不同的第三方实现的情况可能不一样，返回的不一定是标准的键值。例如，有些第三方接口返回的是"accessToken"，而不是"access_token"，所以平台需要对这些不标准的键值映射成标准的。
       [图2]中配置的消息体属性是第三方返回的"accessToken"，AstroZero使用"access_token"这个键值来存储。最终存储的结果如下：
       ```
       {
       “access_token”: ${accessToken}
       }
       ```
       图3返回体   
       ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932887412.png) 
     
     - 消息头属性：定义调用业务接口时，所用的消息头的映射规则。 当使用获取的token，去返回具体rest action时，按照OAuth2的标准一般是将token放到请求头上。例如，Authorization: Bearer ${access_token}。
       但是由于各个第三方接口实现的差异性，不一定叫Authorization，也不一定会在token前面加Bearer，例如访问平台的接口，token直接放在请求头Access-Token上，且不需要Bearer前缀，所以需要配置消息头属性。
       [图2]中配置的消息头属性，意思是将从消息体属性获取到的"access_token"放到请求头"Access-Token"上。
       
      
   
   
   
   
 
