参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
凭据
以下是可在凭据上配置的插件属性。
username
消费者的唯一基本认证用户名。
password
消费者的基本认证密码。
在 API7 企业版 3.9.20、3.10.7 和 APISIX 3.19.0 中,配置校验会拒绝空密码,并接受包含冒号的密码。按照 RFC 7617 的定义,解码后凭据中第一个冒号之后的全部内容都是密码。解码后的凭据在比对前仍会去掉两部分中的所有空白字符,因此含空格的密码无法使用。
密码在存储到 etcd 之前会使用 AES 进行加密。你也可以将其存储在环境变量中并使用
$env://前缀引用,或者存储在密钥管理器(如 HashiCorp Vault 的 KV 密钥引擎)中并使用$secret://前缀引用。更多信息请参见密钥。解析结果为空的
$env://或$secret://引用仍然可以通过配置校验,因为引用是在请求时才解析的。在 API7 企业版 3.9.20 、3.10.7 和 APISIX 3.19.0 中,Basic Auth 无法认证该消费者。请求会返回 HTTP 401,除非匿名消费者或通过multi-auth配置的其他认证方式允许该请求。
路由或服务
以下是可用于 路由 (Routes) 或 服务 (Services) 配置的插件属性。
hide_credentials
如果为
true,则不将Authorization请求头传递给上游服务。anonymous_consumer
匿名消费者名称。如果配置,则允许匿名用户绕过认证。更多详细信息,请参见 针对匿名消费者的速率限制。
realm
因身份认证失败而返回
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 及更高版本中可用。