Tous les produits
Search
Centre de documentation

API Gateway:Basic-auth

Dernière mise à jour :Sep 19, 2026

Le plug-in basic-auth authentifie et autorise les requêtes selon la norme HTTP Basic Authentication.

Type de plug-in

Authentification et autorisation.

Champs

Configuration d'authentification

Champ

Type de données

Obligatoire

Valeur par défaut

Description

consumers

array of object

Oui

-

Appelants de service, utilisés pour authentifier les requêtes.

global_auth

array of string

Non (obligatoire uniquement pour les configurations au niveau de l'instance)

-

Configurable uniquement au niveau de l'instance. Si la valeur est true, l'authentification s'applique globalement. Si la valeur est false, l'authentification s'applique uniquement aux noms de domaine et aux routes configurés. En l'absence de configuration, l'authentification s'applique globalement uniquement si aucun nom de domaine ni aucune route n'est configuré, afin d'assurer la rétrocompatibilité.

Champs dans consumers :

Champ

Type de données

Obligatoire

Valeur par défaut

Description

credential

string

Oui

-

Identifiant d'accès du consommateur.

name

string

Oui

-

Nom du consommateur.

(Facultatif) Configuration d'autorisation

Champ

Type de données

Obligatoire

Valeur par défaut

Description

allow

array of string

Non (obligatoire pour les configurations autres qu'au niveau de l'instance)

-

Configurable uniquement au niveau de la route ou du nom de domaine. Indique quels consommateurs peuvent accéder aux requêtes correspondant aux conditions configurées.

Important
  • Les configurations d'autorisation et d'authentification ne peuvent pas coexister dans la même règle.

  • Pour les requêtes authentifiées, le champ X-Mse-Consumer est ajouté à l'en-tête de la requête pour identifier l'appelant.

Exemples

Configurer l'authentification globalement et l'autorisation pour les routes

Cet exemple active l'authentification basique et l'autorisation pour des routes ou des domaines spécifiques d'une passerelle.

Remarque
  • Le nom d'utilisateur et le mot de passe dans l'identifiant sont séparés par deux-points (:).

  • La valeur de credential doit être unique.

Appliquez les configurations de plug-in suivantes au niveau de l'instance :

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

Appliquez les configurations de plug-in suivantes aux routes route-a et route-b :

allow:
- consumer1

Appliquez la configuration de plug-in suivante aux noms de domaine *.example.com et test.com :

allow:
- consumer2
Remarque
  • Dans cet exemple, les routes route-a et route-b correspondent à celles spécifiées lors de la création des routes de la passerelle. Si une requête client correspond à l'une des routes, l'appelant dont le name est consumer1 est autorisé à accéder à la passerelle. Les autres appelants ne sont pas autorisés à y accéder.

  • Dans cet exemple, les noms de domaine *.example.com et test.com servent à faire correspondre les noms de domaine présents dans les requêtes. Si une requête client correspond à l'un des noms de domaine, l'appelant dont le name est consumer2 est autorisé à accéder à la passerelle. Les autres appelants ne sont pas autorisés à y accéder.

Ces configurations autorisent les requêtes suivantes :

Le nom d'utilisateur et le mot de passe sont spécifiés dans la requête.

# 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

Une fois l'authentification réussie, le champ X-Mse-Consumer est ajouté aux en-têtes de requête pour identifier l'appelant. Dans cet exemple, la valeur est consumer1.

Ces configurations refusent les requêtes suivantes :

  • Aucun identifiant n'est fourni dans la requête et le code d'état HTTP 401 est renvoyé.

    curl  http://xxx.hello.com/test
  • Le nom d'utilisateur ou le mot de passe est incorrect et le code d'état HTTP 401 est renvoyé.

    curl -u admin:abc  http://xxx.hello.com/test
  • L'appelant correspondant aux identifiants ne dispose pas d'autorisation d'accès et le code d'état HTTP 403 est renvoyé.

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

Activer l'authentification pour les passerelles

Appliquez la configuration suivante pour activer l'authentification basique au niveau de l'instance. Toutes les requêtes doivent alors être authentifiées.

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

Codes d'erreur

Code d'état HTTP

Message d'erreur

Raison

401

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

Aucun identifiant n'est fourni dans la requête.

401

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

L'identifiant présent dans la requête est incorrect.

403

Request denied by Basic Auth check. Unauthorized consumer.

L'appelant ne dispose pas d'autorisation d'accès.