ASTRO轻应用 ASTROZERO-使用自定义连接器调用第三方接口:步骤2:配置连接器认证信息

时间:2024-12-18 16:27:26

步骤2:配置连接器认证信息

自定义连接器在服务编排或事件中调用时,需要先配置认证信息。

  1. 参考步骤1:创建自定义连接器中操作,进入自定义连接器页面。
  2. 在“认证信息”页签,单击“新建”,进入添加认证信息页面。
  3. 设置认证信息,单击“保存”

    AstroZero提供了丰富的认证类型供用户选择,请按照自身业务需求,配置对应的认证信息。
    图7 添加认证信息-基本信息
    图8 添加认证信息-鉴权设置
    表7 添加认证信息参数说明

    参数

    说明

    标签

    认证的标签名,用于在页面显示。

    取值范围:1~64个字符。

    名称

    认证的名称,名称是认证在系统中的唯一标识。命名要求如下:

    • 长度不能超过64个字符,包括前缀命名空间的长度。
      说明:

      名称前的内容为命名空间,在AstroZero中为了避免不同租户间数据的重名,租户在首次创建应用时需要先定义一个命名空间。一个租户只能创建一个命名空间,创建后不支持修改。

    • 必须以英文字母开头,只能由英文字母、数字或单下划线组成,且不能以下划线结尾。

    目录

    认证所属的目录分类名称。

    描述

    根据实际需求,输入认证的描述信息。

    取值范围:1~255个字符。

    使用证书

    服务端是否需要客户端证书,是否需要进行双向认证。勾选“使用证书”时,需要配置证书类型,证书和密钥。

    默认为选中。

    证书类型

    勾选“使用证书”时,才会显示该参数。

    证书所属的类型,支持“CRT”“P12”两种。

    证书

    勾选“使用证书”时,才会显示该参数。

    从本地上传“CRT”“P12”类型的证书。

    密钥

    勾选“使用证书”时,才会显示该参数。

    输入已上传证书的访问密钥。

    使用根证书

    客户端是否需要服务端证书,是否需要进行双向认证。

    勾选“使用根证书”时,需要提前开启根证书校验并上传根证书,具体操作请参见开启AstroZero根证书认证对方服务端身份。上传后,在根证书下拉框中选择对应的证书即可。

    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提供的,请参考客户端模式接入认证中操作获取。
    • Client Secret:OAuth2协议中的client secret。如果该REST Service是AstroZero提供的,请参考客户端模式接入认证中操作获取。

    消息体属性

    从鉴权接口返回的,消息字段的映射规则。

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

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

    {
    “access_token”: ${accessToken}
    }

    消息头属性

    定义调用业务接口时,所用的消息头的映射规则。

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

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

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

    图9 返回体

support.huaweicloud.com/usermanual-astrozero/astrozero_05_9281.html