Tüm Ürünler
Search
Belge Merkezi

API Gateway:Basic-auth

Son Güncelleme:Oct 04, 2026

Basic-auth eklentisi, HTTP Temel Kimlik Doğrulama (HTTP Basic Authentication) standardına göre istekleri kimlik doğrular ve yetkilendirir.

Eklenti türü

Kimlik doğrulama ve yetkilendirme.

Alanlar

Kimlik doğrulama yapılandırması


Field


Data type


Required


Default value


Description


consumers


array of object


Yes


-


Hizmet arayanları; isteklerin kimliğini doğrulamak için kullanılır.


global_auth


array of string


No (Required only for instance-level configurations)


-


Yalnızca örnek düzeyinde yapılandırılabilir. true olarak ayarlandığında kimlik doğrulama genel olarak uygulanır. false olarak ayarlandığında kimlik doğrulama yalnızca yapılandırılmış alan adlarına ve rotalara uygulanır. Yapılandırılmadığında geriye dönük uyumluluk amacıyla yalnızca hiçbir alan adı veya rota yapılandırılmamışsa kimlik doğrulama genel olarak uygulanır.

consumers içindeki alanlar:


Field


Data type


Required


Default value


Description


credential


string


Yes


-


Tüketici erişim kimlik bilgisi.


name


string


Yes


-


Tüketici adı.

(İsteğe bağlı) Yetkilendirme yapılandırması


Field


Data type


Required


Default value


Description


allow


array of string


No (Required for non-instance-level configurations)


-


Yalnızca rota veya alan adı düzeyinde yapılandırılabilir. Yapılandırılan koşullarla eşleşen isteklere hangi tüketicilerin erişebileceğini belirtir.

Önemli
  • Yetkilendirme ve kimlik doğrulama yapılandırmaları aynı kuralda birlikte bulunamaz.

  • Kimliği doğrulanmış istekler için arayanı tanımlamak amacıyla istek üstbilgisine X-Mse-Consumer alanı eklenir.

Örnekler

Kimlik doğrulamayı genel olarak yapılandırın ve rotalar için yetkilendirmeyi yapılandırın

Bu örnekte bir ağ geçidinin belirli rotaları veya alan adları için temel kimlik doğrulama ve yetkilendirme etkinleştirilir.

Not
  • Kimlik bilgisindeki kullanıcı adı ve parola iki nokta üst üste (:) ile ayrılır.

  • credential değeri benzersiz olmalıdır.

Aşağıdaki eklenti yapılandırmalarını örnek düzeyinde uygulayın:

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

Aşağıdaki eklenti yapılandırmalarını route-a ve route-b rotalarına uygulayın:

allow:
- consumer1

Aşağıdaki eklenti yapılandırmasını *.example.com ve test.com alan adlarına uygulayın:

allow:
- consumer2
Not
  • Bu örnekte route-a ve route-b rotaları ağ geçidi rotaları oluşturulurken belirtilen rotalardır. Bir istemci isteği bu rotalardan biriyle eşleşirse name değeri consumer1 olan arayanın ağ geçidine erişmesine izin verilir. Diğer arayanların ağ geçidine erişmesine izin verilmez.

  • Bu örnekte *.example.com ve test.com alan adları isteklerdeki alan adlarıyla eşleşmek için kullanılır. Bir istemci isteği bu alan adlarından biriyle eşleşirse name değeri consumer2 olan arayanın ağ geçidine erişmesine izin verilir. Diğer arayanların ağ geçidine erişmesine izin verilmez.

Bu yapılandırmalar aşağıdaki isteklere izin verir:

Kullanıcı adı ve parola istekte belirtilir.

# 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

Kimlik doğrulama başarılı olduktan sonra arayanı tanımlamak için istek üstbilgilerine X-Mse-Consumer alanı eklenir. Bu örnekte değer consumer1 olur.

Bu yapılandırmalar aşağıdaki istekleri reddeder:

  • İstekte kimlik bilgisi sağlanmaz ve HTTP durum kodu 401 döndürülür.

    curl  http://xxx.hello.com/test
  • Kullanıcı adı veya parola geçersizdir ve HTTP durum kodu 401 döndürülür.

    curl -u admin:abc  http://xxx.hello.com/test
  • Kimlik bilgileriyle eşleşen arayanın erişim izni yoktur ve HTTP durum kodu 403 döndürülür.

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

Ağ geçitleri için kimlik doğrulamayı etkinleştirin

Örnek düzeyinde temel kimlik doğrulamayı etkinleştirmek için aşağıdaki yapılandırmayı uygulayın. Ardından tüm isteklerin kimliği doğrulanmalıdır.

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

Hata kodları


HTTP status code


Error message


Reason


401


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


İstekte kimlik bilgisi sağlanmamıştır.


401


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


İstekteki kimlik bilgisi geçersizdir.


403


Request denied by Basic Auth check. Unauthorized consumer.


Arayanın erişim izni yoktur.