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

Criação de um autorizador personalizado

Função

Esta API é usada para criar um autorizador personalizado.

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/authorizers

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

name

Sim

String

Nome do autorizador personalizado.

Pode conter de 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos.

type

Sim

String

Tipo de autorizador personalizado.

  • FRONTEND

  • BACKEND

Modificações não são permitidas.

Valores de enumeração:

  • FRONTEND

  • BACKEND

authorizer_type

Sim

String

valor: FUNC.

Valores de enumeração:

  • FUNC

authorizer_uri

Sim

String

Função URN.

authorizer_version

Não

String

Versão da função.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

Máximo: 64

authorizer_alias_uri

Não

String

Alias de função URN.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

identities

Não

Array of Identity objects

Fonte de identidade.

ttl

Não

Integer

Idade máxima do cache.

user_data

Não

String

Dados do usuário.

ld_api_id

Não

String

ID de back-end personalizado.

Atualmente, este parâmetro não é suportado.

need_body

Não

Boolean

Indica se deve enviar o corpo.

Tabela 4 Identidade

Parâmetro

Obrigatório

Tipo

Descrição

name

Sim

String

Nome do parâmetro.

location

Sim

String

Localização do parâmetro.

Valores de enumeração:

  • HEADER

  • QUERY

validation

Não

String

Expressão de verificação de parâmetros. O valor padrão é null, indicando que nenhuma verificação é executada.

Parâmetros de resposta

Código de status: 201

Tabela 5 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

name

String

Nome do autorizador personalizado.

Pode conter de 3 a 64 caracteres, começando com uma letra. Apenas letras, dígitos e sublinhados (_) são permitidos.

type

String

Tipo de autorizador personalizado.

  • FRONTEND

  • BACKEND

Modificações não são permitidas.

Valores de enumeração:

  • FRONTEND

  • BACKEND

authorizer_type

String

Valor: FUNC.

Valores de enumeração:

  • FUNC

authorizer_uri

String

Função URN.

authorizer_version

String

Versão da função.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

Máximo: 64

authorizer_alias_uri

String

Alias de função URN.

Se tanto um alias de função URN e versão forem passados, o alias URN será usado e a versão será ignorada.

identities

Array of Identity objects

Fonte de identidade.

ttl

Integer

Idade máxima do cache.

user_data

String

Dados do usuário.

ld_api_id

String

ID de back-end personalizado.

Atualmente, este parâmetro não é suportado.

need_body

Boolean

Indica se deve enviar o corpo.

id

String

ID de autorizadores personalizados.

create_time

String

Tempo de criação.

roma_app_id

String

ID da aplicação ao qual o autorizador personalizado pertence.

Atualmente, este parâmetro não é suportado.

roma_app_name

String

Nome da aplicação ao qual o autorizador personalizado pertence.

Atualmente, este parâmetro não é suportado.

Tabela 6 Identidade

Parâmetro

Tipo

Descrição

name

String

Nome do parâmetro.

location

String

Localização do parâmetro.

Valores de enumeração:

  • HEADER

  • QUERY

validation

String

Expressão de verificação de parâmetros. O valor padrão é null, indicando que nenhuma verificação é executada.

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

{
  "name" : "Authorizer_demo",
  "type" : "FRONTEND",
  "authorizer_type" : "FUNC",
  "authorizer_uri" : "urn:fss:xx-xxx:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814",
  "authorizer_version" : "v1",
  "authorizer_alias_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814:!v1",
  "identities" : [ {
    "name" : "header",
    "location" : "HEADER"
  } ],
  "user_data" : "authorizer_test"
}

Exemplo de respostas

Código de status: 201

Criado

{
  "name" : "Authorizer_demo",
  "type" : "FRONTEND",
  "authorizer_type" : "FUNC",
  "authorizer_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814",
  "authorizer_version" : "v1",
  "authorizer_alias_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814:!v1",
  "identities" : [ {
    "name" : "header",
    "location" : "HEADER"
  } ],
  "ttl" : 0,
  "user_data" : "authorizer_test",
  "id" : "0d982c1ac3da493dae47627b6439fc5c",
  "create_time" : "2020-07-31T11:55:43Z"
}

Código de status: 400

Solicitação inválida

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:type. 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.3019",
  "error_msg" : "The function URN 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.