Parameters
See plugin common configurations for configuration options available to all plugins.
Credentials
The following are plugin attributes available for configurations on credentials.
username
Unique basic auth username for a consumer.
password
Basic auth password for the consumer.
In API7 Enterprise 3.9.20 and 3.10.7, the password must not be empty, and a password containing colons is accepted. Following RFC 7617, everything after the first colon of the decoded credentials is taken as the password. Whitespace is still stripped from both halves of the decoded credentials before they are compared, so a password containing spaces cannot be used.
The password is encrypted with AES before being stored in etcd. You can also store it in an environment variable and reference it using the
$env://prefix, or in a secret manager such as HashiCorp Vault's KV secrets engine, and reference it using the$secret://prefix. For more information, see secrets.A
$env://or$secret://reference that resolves to an empty value still passes configuration validation, because references are resolved at request time. From API7 Enterprise 3.9.20 and 3.10.7, the gateway fails closed in that case, rejecting every request for the consumer withHTTP 401and logging a warning.
Routes or Services
The following are plugin attributes available for configurations on routes or services.
hide_credentials
If true, do not pass the authorization request header to upstream services.
anonymous_consumer
Anonymous consumer name. If configured, allow anonymous users to bypass the authentication. See Rate Limit with Anonymous Consumer for more details.
realm
Realm in the
WWW-Authenticateresponse header returned with a401 Unauthorizedresponse due to authentication failure. For example:If
realmis set tobasic-auth, the 401 response will include the following header:WWW-Authenticate: Basic realm="basic-auth"If
realmis not configured, the 401 response will include the following header:WWW-Authenticate: Basic realm="basic"
This parameter is available in API7 Enterprise version 3.9.2 and later, and in Apache APISIX version 3.15.0 and later.