参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
凭据
以下是可在凭据上配置的插件属性。
username
消费者的唯一基本认证用户名。
password
消费者的基本认证密码。
自 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
如果为
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 及更高版本中可用。