Todos los productos
Search
Centro de documentos

API Gateway:Basic-auth

Última actualización: Sep 19, 2026

El complemento basic-auth autentica y autoriza las solicitudes con base en el estándar HTTP Basic Authentication.

Tipo de complemento

Autenticación y autorización.

Campos

Configuración de autenticación

Campo

Tipo de dato

Obligatorio

Valor predeterminado

Descripción

consumers

array of object

Sí

-

Quienes llaman al servicio. Se usan para autenticar las solicitudes.

global_auth

array of string

No (obligatorio solo para configuraciones a nivel de instancia)

-

Solo se configura a nivel de instancia. Si se establece en true, la autenticación aplica de forma global. Si se establece en false, aplica únicamente a los nombres de dominio y rutas configurados. Cuando no se configura, la autenticación aplica de manera global solo si no hay nombres de dominio ni rutas definidos, por compatibilidad con versiones anteriores.

Campos de consumers:

Campo

Tipo de dato

Obligatorio

Valor predeterminado

Descripción

credential

string

Sí

-

Credencial de acceso del consumidor.

name

string

Sí

-

Nombre del consumidor.

(Opcional) Configuración de autorización

Campo

Tipo de dato

Obligatorio

Valor predeterminado

Descripción

allow

array of string

No (obligatorio para configuraciones que no son a nivel de instancia)

-

Solo se configura a nivel de ruta o de nombre de dominio. Especifica qué consumidores pueden acceder a las solicitudes que coinciden con las condiciones configuradas.

Importante
  • Las configuraciones de autorización y autenticación no pueden coexistir en la misma regla.

  • En las solicitudes autenticadas, se agrega el campo X-Mse-Consumer al encabezado para identificar a quien realiza la llamada.

Ejemplos

Configurar la autenticación de forma global y la autorización para rutas

Este ejemplo habilita la autenticación básica y la autorización para rutas o dominios específicos de una puerta de enlace.

Nota
  • El nombre de usuario y la contraseña de la credencial se separan con dos puntos (:).

  • El valor de credential debe ser único.

Aplique a continuación las configuraciones del complemento a nivel de instancia:

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

Aplique a continuación las configuraciones del complemento a las rutas route-a y route-b:

allow:
- consumer1

Aplique a continuación la configuración del complemento a los nombres de dominio *.example.com y test.com:

allow:
- consumer2
Nota
  • En este ejemplo, las rutas route-a y route-b corresponden a las especificadas durante la creación de las rutas de la puerta de enlace. Si una solicitud del cliente coincide con alguna de ellas, se permite el acceso a la puerta de enlace al consumidor cuyo name es consumer1. Los demás consumidores no tienen acceso.

  • Los nombres de dominio *.example.com y test.com sirven para coincidir con los dominios de las solicitudes. Si una solicitud del cliente coincide con alguno de ellos, se permite el acceso a la puerta de enlace al consumidor cuyo name es consumer2. Los demás consumidores no tienen acceso.

Estas configuraciones permiten a continuación las siguientes solicitudes:

Se especifican el nombre de usuario y la contraseña en la solicitud.

# 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

Una vez superada la autenticación, se añade el campo X-Mse-Consumer a los encabezados de la solicitud para identificar a quien realiza la llamada. En este ejemplo, el valor es consumer1.

Estas configuraciones rechazan a continuación las siguientes solicitudes:

  • No se proporcionan credenciales en la solicitud y se devuelve el código de estado HTTP 401.

    curl  http://xxx.hello.com/test
  • El nombre de usuario o la contraseña no son válidos y se devuelve el código de estado HTTP 401.

    curl -u admin:abc  http://xxx.hello.com/test
  • El consumidor asociado a las credenciales no cuenta con permiso de acceso y se devuelve el código de estado HTTP 403.

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

Habilitar la autenticación para puertas de enlace

Aplique a continuación la configuración para habilitar la autenticación básica a nivel de instancia. A partir de ese momento, todas las solicitudes deben autenticarse.

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

Códigos de error

Código de estado HTTP

Mensaje de error

Motivo

401

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

No se proporcionó ninguna credencial en la solicitud.

401

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

La credencial de la solicitud no es válida.

403

Request denied by Basic Auth check. Unauthorized consumer.

Quien realiza la llamada no tiene permiso de acceso.