Todos os produtos
Search
Central de documentação

API Gateway:basic-auth

Última atualização: Jun 27, 2026

O plug-in basic-auth autentica e autoriza solicitações com base no padrão HTTP Basic Authentication.

Tipo de plug-in

Autenticação e autorização.

Campos

Configuração de autenticação

Campo

Tipo de dados

Obrigatório

Valor padrão

Descrição

consumers

array of object

Sim

-

Chamadores do serviço usados para autenticar solicitações.

global_auth

array of string

Não (obrigatório apenas para configurações no nível da instância)

-

Configurável somente no nível da instância. Se definido como true, a autenticação aplica-se globalmente. Se definido como false, aplica-se apenas aos nomes de domínio e rotas configurados. Caso não seja configurado, a autenticação aplicar-se-á globalmente apenas se não houver nomes de domínio ou rotas definidos, para garantir compatibilidade com versões anteriores.

Campos em consumers:

Campo

Tipo de dados

Obrigatório

Valor padrão

Descrição

credential

string

Sim

-

Credencial de acesso do consumidor.

name

string

Sim

-

Nome do consumidor.

(Opcional) Configuração de autorização

Campo

Tipo de dados

Obrigatório

Valor padrão

Descrição

allow

array of string

Não (obrigatório para configurações fora do nível da instância)

-

Configurável apenas no nível de rota ou nome de domínio. Define quais consumidores podem acessar solicitações correspondentes às condições configuradas.

Importante
  • As configurações de autorização e autenticação não podem coexistir na mesma regra.

  • Em solicitações autenticadas, o campo X-Mse-Consumer é adicionado ao cabeçalho da solicitação para identificar o chamador.

Exemplos

Configure autenticação global e autorização para rotas

Este exemplo ativa a autenticação e a autorização básicas para rotas ou domínios específicos de um gateway.

Nota
  • O nome de usuário e a senha na credencial são separados por dois pontos (:).

  • O valor de credential deve ser único.

Aplique as seguintes configurações de plug-in no nível da instância:

global_auth: false
consumers:
- credential: 'admin:123456'
  name: consumer1
- credential: 'guest:abc'
  name: consumer2

Aplique as seguintes configurações de plug-in às rotas route-a e route-b:

allow:
- consumer1

Aplique a seguinte configuração de plug-in aos nomes de domínio *.example.com e test.com:

allow:
- consumer2
Nota
  • Neste exemplo, as rotas route-a e route-b correspondem àquelas especificadas durante a criação das rotas do gateway. Se uma solicitação do cliente corresponder a uma dessas rotas, o chamador cujo name é consumer1 terá permissão para acessar o gateway. Outros chamadores não terão acesso permitido.

  • Os nomes de domínio *.example.com e test.com servem para corresponder aos domínios nas solicitações. Se uma solicitação do cliente corresponder a um desses domínios, o chamador cujo name é consumer2 poderá acessar o gateway. Demais chamadores serão bloqueados.

Essas configurações permitem as seguintes solicitações:

Nome de usuário e senha especificados na solicitação.

# In this example, route-a in the request is matched.
# Use the -u parameter in the curl command to specify the username and password.
curl -u admin:123456  http://xxx.hello.com/test
# You can also directly specify the Authorization request header in which the username and password are base64-encoded.
curl -H 'Authorization: Basic YWRtaW46MTIzNDU2'  http://xxx.hello.com/test

Após a autenticação bem-sucedida, o campo X-Mse-Consumer é adicionado aos cabeçalhos da solicitação para identificar o chamador. Neste exemplo, o valor é consumer1.

Essas configurações negam as seguintes solicitações:

  • Ausência de credenciais na solicitação, resultando no código de status HTTP 401.

    curl  http://xxx.hello.com/test
  • Nome de usuário ou senha inválidos, resultando no código de status HTTP 401.

    curl -u admin:abc  http://xxx.hello.com/test
  • Chamador identificado pelas credenciais sem permissão de acesso, resultando no código de status HTTP 403.

    # The consumer named consumer2 is not in the allow list of route-a.
    curl -u guest:abc  http://xxx.hello.com/test

Ative autenticação para gateways

Aplique a seguinte configuração para ativar a autenticação básica no nível da instância. Todas as solicitações deverão ser autenticadas.

global_auth: true
consumers:
- credential: 'admin:123456'
  name: consumer1
- credential: 'guest:abc'
  name: consumer2

Códigos de erro

Código de status HTTP

Mensagem de erro

Motivo

401

Request denied by Basic Auth check. No Basic Authentication information found.

Nenhuma credencial fornecida na solicitação.

401

Request denied by Basic Auth check. Invalid username and/or password.

Credencial inválida na solicitação.

403

Request denied by Basic Auth check. Unauthorized consumer.

O chamador não tem permissão de acesso.