跳到主要内容

参数

请参阅 插件通用配置 了解所有插件可用的配置选项。

凭据

以下是可在凭据上配置的插件属性。

  • username

    string

    必填


    消费者的唯一基本认证用户名。

  • password

    string

    必填


    消费者的基本认证密码。

    自 API7 企业版 3.9.20 起,密码不能为空,且允许包含冒号。按照 RFC 7617 的定义,解码后凭据中第一个冒号之后的全部内容都是密码。解码后的凭据在比对前仍会去掉两部分中的所有空白字符,因此含空格的密码无法使用。

    密码在存储到 etcd 之前会使用 AES 进行加密。你也可以将其存储在环境变量中并使用 $env:// 前缀引用,或者存储在密钥管理器(如 HashiCorp Vault 的 KV 密钥引擎)中并使用 $secret:// 前缀引用。更多信息请参见密钥

    解析结果为空的 $env://$secret:// 引用仍然可以通过配置校验,因为引用是在请求时才解析的。自 API7 企业版 3.9.20 起,网关在这种情况下按失败关闭处理,该消费者的所有请求都会被拒绝并返回 HTTP 401,同时记录一条 warning 日志。

路由或服务

以下是可用于 路由 (Routes)服务 (Services) 配置的插件属性。

  • hide_credentials

    boolean

    默认值:false


    如果为 true,则不将 Authorization 请求头传递给上游服务。

  • anonymous_consumer

    string


    匿名消费者名称。如果配置,则允许匿名用户绕过认证。更多详细信息,请参见 针对匿名消费者的速率限制

  • realm

    string

    默认值:basic


    因身份认证失败而返回 401 Unauthorized 响应时,WWW-Authenticate 响应头中的 Realm。例如:

    • 如果 realm 设置为 basic-auth,401 响应将包含以下响应头:

      WWW-Authenticate: Basic realm="basic-auth"
      
    • 如果未配置 realm,401 响应将包含以下响应头:

      WWW-Authenticate: Basic realm="basic"
      

    此参数在 API7 企业版 3.9.2 及更高版本,以及 Apache APISIX 3.15.0 及更高版本中可用。