Vinculação de uma chave de assinatura
Função
Uma chave de assinatura entra em vigor somente depois de ser vinculada a uma API. Ao solicitar o serviço de back-end, o APIG usa a chave de assinatura para assinar criptograficamente as solicitações. O serviço de back-end verifica a assinatura para identificar fontes de solicitação.
Esta API é usada para vincular uma chave de assinatura a uma ou mais APIs publicadas.
Chaves de assinatura diferentes podem ser vinculadas a uma API em ambientes diferentes, mas apenas uma chave de assinatura pode ser vinculada à API no mesmo ambiente.
URI
A tabela a seguir lista o método de solicitação HTTP/HTTPS e o URI da API.
| Método de solicitação | URI |
|---|---|
| POST | /v1.0/apigw/sign-bindings |
Solicitação
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| sign_id | Sim | String | ID da chave de assinatura |
| publish_ids | Sim | Array of strings | ID do registro de publicação da API |
Exemplo de solicitação:
{
"sign_id": "3a793b65a9034bdfae08924f149bfb4a",
"publish_ids": [
"374a6d5a-20c7-4ea1-82e1-19fce4556956",
"65e6fe53-1ac3-4481-ba36-9f0bc6f22057"
]
} Resposta
| Parâmetro | Tipo | Descrição |
|---|---|---|
| - | Dicionário | Lista de APIs vinculadas à chave de assinatura |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| id | String | ID de vinculação |
| api_id | String | ID da API |
| api_name | String | Nome da API |
| api_remark | String | Descrição da API |
| group_name | String | Nome do grupo de APIs ao qual a API pertence |
| api_type | Integer | Tipo de API |
| sign_id | String | ID da chave de assinatura |
| sign_name | String | Nome da chave de assinatura |
| sign_key | String | Chave de assinatura |
| sign_secret | String | Segredo de assinatura |
| env_id | String | ID do ambiente no qual a API foi publicada |
| env_name | String | Nome do ambiente no qual a API foi publicada |
| binding_time | Timestamp | Hora em que a chave de assinatura é vinculada à API |
| publish_id | String | ID do registro de publicação |
Exemplo de resposta:
[
{
"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"
}
] Códigos de status
| Código de status | Descrição |
|---|---|
| 201 | Criado |
| 400 | Solicitação inválida |
| 401 | Não autorizado |
| 403 | Proibido |
| 404 | Não encontrado |
| 500 | Erro do servidor interno |