Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-05-29 GMT+08:00

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

Tabela 1 Parâmetros de caminho

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

Tabela 2 Parâmetros do cabeçalho 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.

Tabela 3 Parâmetros de corpo de solicitação

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

Tabela 4 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

auths

Array of ApiAuthRelations objects

Registros de autorização da aplicação.

Tabela 5 ApiAuthRelations

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.

  • PROVIDER: fornecedor de API

  • CONSUMER: usuário da API

Valores de enumeração:

  • PROVIDER

  • CONSUMER

auth_tunnel

String

Tipo de canal de autorização.

  • NORMAL: canal normal

  • GREEN: canal verde

O valor padrão é NORMAL. Este parâmetro não é suportado atualmente.

Valores de enumeração:

  • NORMAL

  • GREEN

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.

Tabela 6 AuthResult

Parâmetro

Tipo

Descrição

status

String

Resultado da autorização.

  • SUCCESS

  • SKIPPED

  • FAILED

Valores de enumeração:

  • SUCCESS

  • SKIPPED

  • FAILED

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

Tabela 7 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 401

Tabela 8 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 403

Tabela 9 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 404

Tabela 10 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 500

Tabela 11 Parâmetros de corpo de resposta

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.