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

自定义公共接口

使用说明

使用公共接口,可以将原生服务API发布到外部网关,第三方系统可以通过OAuth2.0调用AstroZero上的原生服务。

前提条件

  • 已接入服务实例,具体操作请参考注册Native Service
  • 已在需要调用原生服务的应用中,添加待调用的原生服务。添加后,在该应用的服务编排中,才可以调用Native服务。
    • “Internal dependencies”为内部依赖文件夹,导入的BO服务或者Native服务,在打包上层应用时也会随应用打包发布出去。
    • “External dependencies”为外部依赖文件夹,导入的BO服务或者Native服务,在打包上层应用时不会打包出去。
    图1 应用中添加原生服务
  • 若AstroZero开启了根证书校验,请先上传原生服务的根证书,再调用原生服务。关于根证书的更多内容,请参考开启根证书校验

操作步骤

  1. 参考如何进入经典开发环境中操作,登录经典版开发环境。
  2. 首页 > 项目 > 我的应用中,单击已创建的原生服务。
  3. 在原生服务开发页面,单击“公共接口”
  4. 在公共接口页面,单击“新建”。
  5. 在“新建自定义接口”页面,设置接口参数。

    图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校验。

  6. 设置完成后,单击“保存”。
  7. (可选)设置访问该自定义接口的用户业务权限。

    若没有配置业务权限,则只有业务用户可访问该接口,平台用户不可访问。若配置了业务权限,则只有拥有该业务权限的用户才可以访问该接口。

    例如,配置只有拥有业务权限“A”的用户,才可访问该接口。
    1. 参考如何登录经典版环境配置中操作,登录经典版环境配置。
    2. 在左侧导航栏中,选择“用户管理 > 业务权限凭证”,创建业务权限“A”。
      图3 创建业务权限“A”
    3. 选择“用户管理 > 权限配置”,编辑用户的权限,在“业务权限凭证”页签配置接入业务权限“A”。
      图4 用户权限配置
    4. 在公共接口详情页面,单击“编辑”,配置业务权限,将左侧业务权限“A”加入到右侧“已选择业务权限凭证列表”中,单击“保存”。
      图5 配置业务权限

      业务用户访问该接口URL前,还需要创建如下的服务编排,用于获取token值。其中,赋的值“PL”是一个公式变量,表达式为“PORTALUSERLOGIN("pu1")”,“pu1”为业务用户名,配置该服务编排的出参为“token”。

      图6 创建服务编排

      执行该服务编排后,在输出参数中,获取token值。

      {
        "interviewId": "002N000000RBLY9scgDY",
        "outputs": {
          "token": "************"
        }
      }

相关文档