创建Rest Service(自定义连接器)
可以通过依次创建Rest Service和Rest Action,使得系统可以调用第三方提供的Rest协议的接口,实现第三方提供的业务功能。
操作步骤
- 在App开发界面左侧列表单击
,选择“自定义连接器 > 自定义连接器”。
- 击“+”,配置基本信息,单击“保存”。图1 新建服务入口
表1 参数说明 参数名
说明
标签
该REST服务的标签名。
名称
该REST服务的名称,唯一标识。系统会自动在该名称前添加命名空间__。
名称长度不能超过64个字节,必须以英文字母开头,且只能由英文字母,数字和单下划线(_)组成。
图标
该REST服务的图标。
描述
REST服务相关描述信息。
长度不超过255个字节。
- 在右侧选择“认证信息”页签,单击“新建”,配置认证。
可以新建多个认证,不同的Rest Action可以有不同的认证方式。
表2 参数说明 参数名
说明
标签
该认证的标签名。
名称
该认证的名称,唯一标识。系统会自动在该名称前添加命名空间__。
名称长度不能超过64个字节,必须以英文字母开头,且只能由英文字母,数字和单下划线(_)组成。
目录
该认证所属的目录分类名称。
描述
该认证相关描述信息。
长度不超过255个字节。
使用证书
服务端是否需要客户端证书,是否需要进行双向认证。
若勾选“使用证书”,您需要配置证书类型,支持“CRT”和“P12”两种,然后配置证书和密钥。
使用根证书
客户端是否需要服务端证书,是否需要进行双向认证。
若勾选“使用根证书”,您需要提前在管理中心开启根证书校验并上传根证书,具体方法请参考管理HTTPS根证书,上传后在根证书下拉框中选择对应的证书。
API主机地址
配置此地址后,可以限定REST操作的请求前缀,防止敏感信息泄露。每次更改此地址,都需要重新配置鉴权信息。
打包当前配置
默认为选中,对信息敏感的场景,建议不勾选。
选中该选项后,应用打包时会将当前配置的连接器信息一并打出。例如,如果应用包发布到运行环境,当前配置默认为被同步到运行环境中。
可选设置 > 鉴权设置
鉴权协议
鉴权协议,分OAuth、简单消息头和JWT(JSON Web Tokens)三种。
鉴权模式
设置为“client credentials”。这里只支持OAuth2的client credentials鉴权模式。
鉴权地址
第三方系统OAuth2协议获取token的地址。例如AppCube获取token的地址是“https://{host}:{port}/baas/auth/v1.0/oauth2/token”,这里需要填入第三方系统的。
Client ID
OAuth2协议中的client id。
如果该REST Service为AppCube提供,可在AppCube首页单击“管理”,进入管理页面。选择“系统管理 > OAuth”,查看对应鉴权的“客户端Id”。
Client Secret
OAuth2协议中的client secret。
如果该REST Service为AppCube提供,可在AppCube首页单击“管理”,进入管理页面。选择“系统管理 > OAuth”中,查看对应鉴权的“客户端密钥”。
消息体属性
从鉴权接口返回的消息字段的映射规则。
根据OAuth2标准协议,返回体一般如图3所示。但是由于不同的第三方实现的情况可能不一样,返回的不一定是标准的键值。比如有些第三方接口返回的是“accessToken”,而不是“access_token”,所以平台需要对这些不标准的键值映射成标准的。
图2中配置的消息体属性是第三方返回的“accessToken”,AppCube使用“access_token”这个键值来存储。最终存储的结果如下:
{ “access_token”: ${accessToken} }
消息头属性
定义调用业务接口时所用的消息头的映射规则。
当使用得到的token去返回具体rest action的时候,按照OAuth2的标准一般是将token放到请求头上,如:Authorization: Bearer ${access_token}。
但是由于各个第三方接口实现的差异性,不一定叫Authorization,也不一定会在token前面加Bearer,比如访问平台的接口,token直接放在请求头Access-Token上,且不需要Bearer前缀,所以需要配置消息头属性。
图2中配置的消息头属性,意思是将从消息体属性获取到的“access_token”放到请求头“Access-Token”上。
