绑定签名密钥
功能介绍
签名密钥创建后,需要绑定到API才能生效。将签名密钥绑定到API后,则API网关请求后端服务时就会使用这个签名密钥进行加密签名,后端服务可以校验这个签名来验证请求来源。
将指定的签名密钥绑定到一个或多个已发布的API上。
同一个API发布到不同的环境可以绑定不同的签名密钥;一个API在发布到特定环境后只能绑定一个签名密钥。
URI
HTTP/HTTPS请求方法以及URI如下表所示。
请求方法 |
URI |
---|---|
POST |
/v1/{project_id}/apigw/instances/{instance_id}/sign-bindings |
URI中的参数说明如下表所示。
名称 |
是否必选 |
类型 |
说明 |
---|---|---|---|
project_id |
是 |
String |
项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。 |
instance_id |
是 |
String |
实例ID,可从API网关控制台的专享版实例信息中获取。 |
请求消息
名称 |
是否必选 |
类型 |
说明 |
---|---|---|---|
sign_id |
是 |
String |
签名密钥编号 |
publish_ids |
是 |
Array of strings |
API的发布记录编号 |
请求参数样例:
{ "sign_id": "3a793b65a9034bdfae08924f149bfb4a", "publish_ids": [ "374a6d5a-20c7-4ea1-82e1-19fce4556956", "65e6fe53-1ac3-4481-ba36-9f0bc6f22057" ] }
响应消息
名称 |
类型 |
说明 |
---|---|---|
- |
字典数据类型 |
API与签名密钥的绑定关系列表 |
名称 |
类型 |
说明 |
---|---|---|
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" } ]
状态码
状态码 |
说明 |
---|---|
201 |
Created |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Server Internal Error |