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。 |
|
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对应键值对匹配了黑名单配置中任意一条规则,则会拒绝该请求。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
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头域。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
enabled |
否 |
Boolean |
是否允许将token解析出的payload传递至后端。默认值为false。 |
|
header_name |
否 |
String |
将token解析出的payload写入到指定名称的请求头。该参数当enabled为true时必选。该参数不区分大小写。 |