更新时间:2025-10-24 GMT+08:00
分享

JWTAuthContent

表1 JWTAuthContent

参数

是否必选

参数类型

描述

jwks_service

PluginJWTAuthJWKSService object

JWKS服务地址。jwks和jwks_service参数必须填写其中一个,且只有一个参数会生效;若jwks和jwks_service都填写时,网关会使用jwks_service。当jwks_service不为空时,网关会从指定服务地址中定时获取JWKS公钥。

jwks

String

JWKS公钥。jwks和jwks_service参数必须填写其中一个,且只有一个参数会生效。若jwks和jwks_service都填写时,网关会使用jwks_service。该参数需要填写验证token的JWKS公钥,需为遵循RFC规范(https://www.rfc-editor.org/rfc/rfc7517)的json字符串。最大支持50KB。

token_location

String

允许token设置的位置:

  • header:请求HEADER参数
  • query:请求QUERY参数
  • cookie:请求COOKIE参数

默认值为 header。

token_name

String

设置指定名称的参数作为token。当token位置为header时默认值为 Authorization;当token位置为query时默认值为 access_token;当token位置为cookie时该参数必填。当token位置为header时该参数不区分大小写。

token_prefix

String

当token位置设置为header可以设置该参数。token字符串将去除该前缀,再用于鉴权。默认值为 Bearer。

token_expiration_tolerance

String

校验token过期允许的时钟偏移量。若token在payload中设置了过期时间(exp),网关会对其进行校验,允许您自定义校验token是否过期的时钟偏移量(0-86400秒)。单位为秒,默认值为0。

token_pass_through_enabled

Boolean

是否允许网关将原始token透传至后端。默认值为false。

carry_payload

PluginJWTAuthCarryPayload object

网关将原始payload设置到指定名称的请求头中,传递至后端。

missing_token_skip_auth_enabled

Boolean

当请求未携带token时,是否允许跳过JWT认证直接访问后端。默认值为false。

ignore_expiration_validation_enabled

Boolean

是否允许网关忽略对token的超期时间(exp)字段值的校验。默认值为false。

claims_to_headers

Array of PluginJWTAuthClaimsToHeaders objects

网关将payload中指定字段(claim)的值,设置到指定名称的请求头中,传递至后端。

blacklist

Array of PluginJWTAuthBlacklist objects

黑名单配置。网关将根据黑名单配置,对payload中指定字段(claim)的值执行黑名单校验。如果payload中claim对应键值对匹配了黑名单配置中任意一条规则,则会拒绝该请求。

表2 PluginJWTAuthJWKSService

参数

是否必选

参数类型

描述

uri

String

响应返回JWKS公钥的URI地址,公钥需为遵循RFC规范(https://www.rfc-editor.org/rfc/rfc7517)的json字符串。网关请求URI地址的方法为GET,如果未指定请求协议,则使用HTTPS。返回的JWKS大小最大支持50KB。该参数当jwks_service不为空时必选。

timeout

Integer

网关请求JWKS服务的超时时间(1-60000ms)。单位为毫秒,默认值为5000。

ttl

Integer

网关将JWKS服务返回的JWKS缓存的时间(600-86400秒)。单位为秒,默认值为7200。

custom_host

String

请求JWKS服务的Host头域,默认将使用请求中原始的Host头域。

表3 PluginJWTAuthCarryPayload

参数

是否必选

参数类型

描述

enabled

Boolean

是否允许将token解析出的payload传递至后端。默认值为false。

header_name

String

将token解析出的payload写入到指定名称的请求头。该参数当enabled为true时必选。该参数不区分大小写。

表4 PluginJWTAuthClaimsToHeaders

参数

是否必选

参数类型

描述

claim

String

payload中的指定字段名,只支持指定json结构体中最外层的字段。

header

String

传递至后端的请求头名称。

is_override

Boolean

同名头是否重写。当该值为true时,如果存在同名的请求头会将其值覆盖;当该值为false时,会额外追加同名的请求头。默认值为true。

表5 PluginJWTAuthBlacklist

参数

是否必选

参数类型

描述

claim

String

payload中的指定字段名,只支持指定json结构体中最外层的字段。

value

String

如果claim的值等于该字段值,则会拒绝请求。

相关文档