Autorização de aplicações
Função
Uma aplicação não pode acessar nenhuma API depois de ser criada. Para acessar uma API em um ambiente específico, vincule a aplicação à API no ambiente.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/app-auths
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| project_id | Sim | String | ID do projeto. Para obter detalhes sobre como obter um ID de projeto, consulte "Apêndice" > "Obtenção de um ID de projeto" neste documento. |
| instance_id | Sim | String | ID do gateway, que pode ser obtido a partir das informações de gateway no console do APIG. |
Parâmetros de solicitação
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| X-Auth-Token | Sim | String | Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token. |
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| env_id | Sim | String | ID do ambiente no qual as aplicações serão autorizadas. |
| app_ids | Sim | Array of strings | IDs de aplicação. |
| api_ids | Sim | Array of strings | Lista de APIs. |
Parâmetros de resposta
Código de status: 201
| Parâmetro | Tipo | Descrição |
|---|---|---|
| auths | Array of ApiAuthRelations objects | Registros de autorização da aplicação. |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| api_id | String | ID da API. |
| auth_result | AuthResult object | Resultado da autorização. |
| auth_time | String | Tempo de autorização. |
| id | String | ID do registro de autorização. |
| app_id | String | ID de aplicação. |
| auth_role | String | Autorizador.
Valores de enumeração:
|
| auth_tunnel | String | Tipo de canal de autorização.
O valor padrão é NORMAL. Este parâmetro não é suportado atualmente. Valores de enumeração:
|
| auth_whitelist | Array of strings | Lista branca para o canal verde. |
| auth_blacklist | Array of strings | Lista negra para o canal verde. |
| visit_params | String | Parâmetros de acesso. |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| status | String | Resultado da autorização.
Valores de enumeração:
|
| error_msg | String | Mensagem de erro. |
| error_code | String | Código de erro. |
| api_name | String | Nome da API para a qual a autorização falha. |
| app_name | String | Nome da aplicação que não está autorizado. |
Código de status: 400
| Parâmetro | Tipo | Descrição |
|---|---|---|
| error_code | String | Código de erro. |
| error_msg | String | Mensagem de erro. |
Código de status: 401
| Parâmetro | Tipo | Descrição |
|---|---|---|
| error_code | String | Código de erro. |
| error_msg | String | Mensagem de erro. |
Código de status: 403
| Parâmetro | Tipo | Descrição |
|---|---|---|
| error_code | String | Código de erro. |
| error_msg | String | Mensagem de erro. |
Código de status: 404
| Parâmetro | Tipo | Descrição |
|---|---|---|
| error_code | String | Código de erro. |
| error_msg | String | Mensagem de erro. |
Código de status: 500
| Parâmetro | Tipo | Descrição |
|---|---|---|
| error_code | String | Código de erro. |
| error_msg | String | Mensagem de erro. |
Exemplo de solicitações
{
"env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
"app_ids" : [ "356de8eb7a8742168586e5daf5339965" ],
"api_ids" : [ "5f918d104dc84480a75166ba99efff21" ]
} Exemplo de respostas
Código de status: 201
Criado
{
"auths" : [ {
"api_id" : "5f918d104dc84480a75166ba99efff21",
"auth_result" : {
"status" : "SUCCESS"
},
"auth_time" : "22020-08-04T04:02:22.482227344Z",
"id" : "dd29b33ae4394e3b924b582c6b40880b",
"app_id" : "356de8eb7a8742168586e5daf5339965",
"auth_role" : "PROVIDER",
"auth_tunnel" : "NORMAL"
} ]
} Código de status: 400
Solicitação inválida
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:api_ids. Please refer to the support documentation"
} Código de status: 401
Não autorizado
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
} Código de status: 403
Proibido
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
} Código de status: 404
Não encontrado
{
"error_code" : "APIG.3004",
"error_msg" : "App 356de8eb7a8742168586e5daf5339965 does not exist"
} Código de status: 500
Erro do servidor interno
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
} 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 |
Códigos de erro
Consulte Códigos de erro.