更新时间:2024-08-08 GMT+08:00
分享

创建Rest Service(自定义连接器)

使用说明

通过依次创建Rest Service和Rest Action,使得系统可以调用第三方提供的Rest协议的接口,实现第三方提供的业务功能。

操作步骤

  1. 参考登录经典应用设计器中操作,登录经典版应用设计器。
  2. 在左侧列表中,单击,选择“自定义连接器 > 自定义连接器”。
  3. 单击“+”,配置基本信息,单击“保存”。

    图1 新建服务入口
    • 标签:REST服务的标签名。
    • 名称:REST服务的名称,系统会自动在该名称前添加命名空间__。
    • 图标:REST服务的图标。
    • 描述:REST服务的相关描述信息。

  4. 在“认证信息”页签,单击“新建”,进入添加认证信息页面。
  5. 设置认证信息,单击“保存”

    可以新建多个认证,不同的Rest Action可以有不同的认证方式。

    图2 配置认证信息
    • 标签:认证的标签名。
    • 名称:认证在系统中的唯一标识,系统会自动在该名称前添加命名空间__。
    • 目录:认证所属的目录分类名称。
    • 描述:认证的描述信息。
    • 使用证书:服务端是否需要客户端证书,是否需要进行双向认证。勾选“使用证书”时,需要配置证书类型,证书和密钥。
    • 使用根证书:客户端是否需要服务端证书,是否需要进行双向认证。

      勾选“使用根证书”时,需要提前在管理中心开启根证书校验并上传根证书,具体操作请参见管理HTTPS根证书。上传后,在根证书下拉框中选择对应的证书即可。

    • 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认证列表中,查看对应鉴权后
        4. 在弹出的警告页面,单击“确定”,将密钥文件下载到本地。

          密钥文件中的client_secret,即为Client Secret的值。

      • 消息体属性:从鉴权接口返回的,消息字段的映射规则。

        根据OAuth2标准协议,返回体一般如图3所示。由于不同的第三方实现的情况可能不一样,返回的不一定是标准的键值。例如,有些第三方接口返回的是“accessToken”,而不是“access_token”,所以平台需要对这些不标准的键值映射成标准的。

        图2中配置的消息体属性是第三方返回的“accessToken”,AstroZero使用“access_token”这个键值来存储。最终存储的结果如下:

        {
        “access_token”: ${accessToken}
        }
        图3 返回体
      • 消息头属性:定义调用业务接口时,所用的消息头的映射规则。

        当使用获取的token,去返回具体rest action时,按照OAuth2的标准一般是将token放到请求头上。例如,Authorization: Bearer ${access_token}。

        但是由于各个第三方接口实现的差异性,不一定叫Authorization,也不一定会在token前面加Bearer,例如访问平台的接口,token直接放在请求头Access-Token上,且不需要Bearer前缀,所以需要配置消息头属性。

        图2中配置的消息头属性,意思是将从消息体属性获取到的“access_token”放到请求头“Access-Token”上。

相关文档