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

绑定签名密钥

功能介绍

签名密钥创建后,需要绑定到API才能生效。将签名密钥绑定到API后,则API网关请求后端服务时就会使用这个签名密钥进行加密签名,后端服务可以校验这个签名来验证请求来源。

将指定的签名密钥绑定到一个或多个已发布的API上。

同一个API发布到不同的环境可以绑定不同的签名密钥;一个API在发布到特定环境后只能绑定一个签名密钥。

URI

HTTP/HTTPS请求方法以及URI如下表所示。

表1 HTTP/HTTPS请求方法

请求方法

URI

POST

/v1/{project_id}/apigw/instances/{instance_id}/sign-bindings

URI中的参数说明如下表所示。

表2 参数说明

名称

是否必选

类型

说明

project_id

String

项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。

instance_id

String

实例ID,可从API网关控制台的专享版实例信息中获取。

请求消息

表3 参数说明

名称

是否必选

类型

说明

sign_id

String

签名密钥编号

publish_ids

Array of strings

API的发布记录编号

请求参数样例:

{
  "sign_id": "3a793b65a9034bdfae08924f149bfb4a",
  "publish_ids": [
    "374a6d5a-20c7-4ea1-82e1-19fce4556956",
    "65e6fe53-1ac3-4481-ba36-9f0bc6f22057"
  ]
}

响应消息

表4 参数说明

名称

类型

说明

-

字典数据类型

API与签名密钥的绑定关系列表

表5 字典类型响应参数

名称

类型

说明

id

String

绑定关系的ID

api_id

String

API编号

api_name

String

API名称

api_remark

String

API描述

group_name

String

API所属分组的名称

api_type

Integer

API类型

sign_id

String

签名密钥的编号

sign_name

String

签名密钥的名称

sign_key

String

签名密钥的key

sign_secret

String

签名密钥的密钥

env_id

String

API所属环境的编号

env_name

String

API所属环境的名称

binding_time

Timestamp

绑定时间

publish_id

String

API发布ID

响应消息样例:

[
  {
    "id": "d8426fb090e442c4a56a35e451bea085",
    "api_id": "3c6769c6-ec61-4b45-b478-c60310dbaa1b",
    "api_name": "bbb",
    "api_remark": "",
    "group_name": "asd",
    "api_type": 1,
    "sign_id": "3a793b65a9034bdfae08924f149bfb4a",
    "sign_name": "signature01",
    "sign_key": "abcd_1234",
    "sign_secret": "******",
    "env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID",
    "env_name": "RELEASE",
    "binding_time": "2018-02-07T03:17:26.396039456Z",
    "publish_id": "23234202f5834ab69113fc1b790b6bed"
  },
  {
    "id": "97952732e6d7452d99de02db99acce27",
    "api_id": "d85c502a-f916-47e8-bba0-50537a2d1af2",
    "api_name": "aaa",
    "api_remark": "",
    "group_name": "asd",
    "api_type": 1,
    "sign_id": "3a793b65a9034bdfae08924f149bfb4a",
    "sign_name": "signature01",
    "sign_key": "abcd_1234",
    "sign_secret": "******",
    "env_id": "DEFAULT_ENVIRONMENT_RELEASE_ID",
    "env_name": "RELEASE",
    "binding_time": "2018-02-07T03:17:26.39803282Z",
    "publish_id": "6581f68efddc4ff0815e156ec6ecfb52"
  }
]

状态码

表6 返回消息说明

状态码

说明

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Server Internal Error

相关文档