You are browsing documentation for an outdated plugin version.
Configuration
This plugin is partially compatible with DB-less mode.
Consumers and JWT secrets can be created with declarative configuration.
Admin API endpoints that do POST, PUT, PATCH, or DELETE on secrets are not available on DB-less mode.
Compatible protocols
The JWT plugin is compatible with the following protocols:
grpc
, grpcs
, http
, https
Parameters
Here's a list of all the parameters which can be used in this plugin's configuration:
-
name or plugin
string requiredThe name of the plugin, in this case
jwt
.- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
name
. - If using the KongPlugin object in Kubernetes, the field is
plugin
.
- If using the Kong Admin API, Konnect API, declarative configuration, or decK files, the field is
-
service.name or service.id
stringThe name or ID of the service the plugin targets. Set one of these parameters if adding the plugin to a service through the top-level
/plugins
endpoint. Not required if using/services/{serviceName|Id}/plugins
. -
route.name or route.id
stringThe name or ID of the route the plugin targets. Set one of these parameters if adding the plugin to a route through the top-level
/plugins
endpoint. Not required if using/routes/{routeName|Id}/plugins
. -
enabled
boolean default:true
Whether this plugin will be applied.
-
config
record required-
uri_param_names
set of typestring
default:jwt
A list of querystring parameters that Kong will inspect to retrieve JWTs.
-
cookie_names
set of typestring
A list of cookie names that Kong will inspect to retrieve JWTs.
-
key_claim_name
string default:iss
The name of the claim in which the
key
identifying the secret must be passed. Starting with version0.13.1
, the plugin will attempt to read this claim from the JWT payload and the header, in that order.
-
secret_is_base64
boolean required default:false
If true, the plugin assumes the credential’s
secret
to be base64 encoded. You will need to create a base64-encoded secret for your Consumer, and sign your JWT with the original secret.
-
claims_to_verify
set of typestring
Must be one of:exp
,nbf
A list of registered claims (according to RFC 7519) that Kong can verify as well. Accepted values: one of
exp
ornbf
.
-
anonymous
stringAn optional string (consumer UUID) value to use as an anonymous consumer if authentication fails. If empty (default), the request will fail with an authentication failure
4xx
. Note that this value must refer to the consumerid
attribute that is internal to Kong Gateway, and not itscustom_id
.
-
run_on_preflight
boolean required default:true
A boolean value that indicates whether the plugin should run (and try to authenticate) on
OPTIONS
preflight requests. If set tofalse
, thenOPTIONS
requests will always be allowed.
-
maximum_expiration
number default:0
between:0
31536000
A value between 0 and 31536000 (365 days) limiting the lifetime of the JWT to
maximum_expiration
seconds in the future. Any JWT that has a longer lifetime is rejected (HTTP 403). If this value is specified,exp
must be specified as well in theclaims_to_verify
property. The default value of0
represents an indefinite period. Potential clock skew should be considered when configuring this setting.
-
header_names
set of typestring
default:authorization
A list of HTTP header names that Kong will inspect to retrieve JWTs.
-