自定义公共接口
使用说明
使用公共接口,可以将原生服务API发布到外部网关,第三方系统可以通过OAuth2.0调用AstroZero上的原生服务。
前提条件
- 已接入服务实例,具体操作请参考注册Native Service。
- 已在需要调用原生服务的应用中,添加待调用的原生服务。添加后,在该应用的服务编排中,才可以调用Native服务。
- “Internal dependencies”为内部依赖文件夹,导入的BO服务或者Native服务,在打包上层应用时也会随应用打包发布出去。
- “External dependencies”为外部依赖文件夹,导入的BO服务或者Native服务,在打包上层应用时不会打包出去。
图1 应用中添加原生服务
- 若AstroZero开启了根证书校验,请先上传原生服务的根证书,再调用原生服务。关于根证书的更多内容,请参考开启根证书校验。
操作步骤
- 参考如何进入经典开发环境中操作,登录经典版开发环境。
- 在 中,单击已创建的原生服务。
- 在原生服务开发页面,单击“公共接口”。
- 在公共接口页面,单击“新建”。
- 在“新建自定义接口”页面,设置接口参数。
图2 “新建自定义接口”配置页面
- 名称:新建公共接口的名称。
- 版本:公共接口的版本号。
- URL:新URL地址。其中,“/native”是固定值,其次是“/Native Service名称/版本号”,剩下部分进行自定义。
自定义的URL需要符合一定规则,规则如下:
- 必须以单个“/”开头。
- 可以配置多级路径,两个或者多个“/”之间必须有内容。
- 描述:公共接口的描述信息。
- 操作名称:需要开放给外部第三方系统的操作名称,取值来源于配置API中配置的操作名称。
- 资源:与镜像文件中的接口路径一致,无需配置。
- 方法:映射后调用的方法名,如GET(查询)、PUT(增加)、POST(修改)、DELETE(删除),无需配置。
- CSRF校验:调用该公共接口时,是否需要做CSRF校验。
- 否:不需要做CSRF校验,可直接调用该公共接口。
- 是:需要做CSRF校验,在调该公共接口前,需要先调接口“https://AstroZero域名/u-route/baas/sys/v1.0/csrf/get”,获取鉴权result取值(调该接口时需要在请求消息头上设置“access-token”,获取方法可参考配置API中章节介绍),然后再调该公共接口请求消息头上设置“csrf-token”值为鉴权result值,即可调用该公共接口。
GET方法不需要做CSRF校验,其他方法可根据需要配置是否做CSRF校验。
- 设置完成后,单击“保存”。
- (可选)设置访问该自定义接口的用户业务权限。
若没有配置业务权限,则只有业务用户可访问该接口,平台用户不可访问。若配置了业务权限,则只有拥有该业务权限的用户才可以访问该接口。
例如,配置只有拥有业务权限“A”的用户,才可访问该接口。- 参考如何登录经典版环境配置中操作,登录经典版环境配置。
- 在左侧导航栏中,选择“用户管理 > 业务权限凭证”,创建业务权限“A”。
图3 创建业务权限“A”
- 选择“用户管理 > 权限配置”,编辑用户的权限,在“业务权限凭证”页签配置接入业务权限“A”。
图4 用户权限配置
- 在公共接口详情页面,单击“编辑”,配置业务权限,将左侧业务权限“A”加入到右侧“已选择业务权限凭证列表”中,单击“保存”。
图5 配置业务权限
业务用户访问该接口URL前,还需要创建如下的服务编排,用于获取token值。其中,赋的值“PL”是一个公式变量,表达式为“PORTALUSERLOGIN("pu1")”,“pu1”为业务用户名,配置该服务编排的出参为“token”。
图6 创建服务编排
执行该服务编排后,在输出参数中,获取token值。
{ "interviewId": "002N000000RBLY9scgDY", "outputs": { "token": "************" } }