更新时间:2025-12-18 GMT+08:00

ThirdAuthContent

表1 ThirdAuthContent

参数

是否必选

参数类型

描述

auth_request

否

PluginThirdAuthRequest object

鉴权接口信息。

identities

否

PluginThirdAuthIdentities object

用户身份认证信息。

carry_body

否

PluginThirdAuthCarryBody object

允许携带API请求体进行第三方鉴权。

carry_path_enabled

否

Boolean

允许携带原始请求path。

return_resp_body_enabled

否

Boolean

直接返回鉴权响应。

carry_resp_header

否

Array of strings

允许携带的响应头部(第三方鉴权成功,将从认证接口响应头中获取此处配置的响应头,透传到后端,支持最多10个参数,参数长度为1~64个字符)。

simple_auth_mode_enabled

否

Boolean

简易鉴权模式(鉴权接口返回2××则标识认证通过)。

match_auth

否

PluginThirdAuthMatchAuth object

鉴权结果匹配。

rule_enabled

否

Boolean

黑白名单开关(通过黑白名单校验的API将不再调用鉴权接口进行鉴权)。

rule_type

否

String

黑白名单类型,当打开黑白名单开关时必填。

parameters

否

Array of PluginThirdAuthParameters objects

黑白名单规则参数。

rules

否

Array of PluginThirdAuthRule objects

黑白名单参数校验规则,最多支持100条规则。

custom_forbid_limit

否

Integer

防爆力破解拦截阈值(5分钟内认证失败次数超过此处配置的值将触发请求拦截,直接返回认证失败,直至下一个5分钟窗口)。

auth_downgrade_enabled

否

Boolean

宽松模式(连接鉴权服务失败或者鉴权服务返回5××,网关接受客户端请求)。

表2 PluginThirdAuthRequest

参数

是否必选

参数类型

描述

method

是

String

鉴权接口请求方法。

protocol

是

String

鉴权接口请求协议(不推荐使用HTTP)。

url_domain

否

String

鉴权接口地址,不使用负载通道时必填,长度为0~255位字符串,支持IP和域名。

timeout

否

Integer

鉴权接口超时时间,单位秒,范围1~60000毫秒,默认5000毫秒。

path

是

String

鉴权接口路径(以"/"开头,后面跟着一段由字母、数字、下划线和连字符组成的字符串,可以包含查询参数)。

vpc_channel_enabled

是

Boolean

是否启用负载通道,true表示启用,false表示不启用。

vpc_channel_info

否

PluginThirdAuthVpcChannelInfo object

负载通道信息。

表3 PluginThirdAuthVpcChannelInfo

参数

是否必选

参数类型

描述

vpc_id

是

String

负载通道ID。

vpc_proxy_host

否

String

自定义host头域(长度为1到254个字符,由字母、数字、点号、冒号或连字符组成的域名)。

表4 PluginThirdAuthIdentities

参数

是否必选

参数类型

描述

headers

否

Array of PluginThirdAuthIdentity objects

携带的请求头信息,最多允许携带10个请求头。

queries

否

Array of PluginThirdAuthIdentity objects

携带的query参数,最多允许携带10个query参数。

表5 PluginThirdAuthIdentity

参数

是否必选

参数类型

描述

name

是

String

参数名称(以字母开头,长度为1到32个字符、由字母、数字、点号、下划线和连字符组成)。

表6 PluginThirdAuthCarryBody

参数

是否必选

参数类型

描述

enabled

是

Boolean

是否携带,true为携带,false为不携带。

max_body_size

否

Integer

允许携带的最大字节数(最大不超过实例配置参数配置项request_body_size--请求中允许携带的Body大小上限)。

表7 PluginThirdAuthMatchAuth

参数

是否必选

参数类型

描述

key

是

String

鉴权响应头中的key(长度为1~64个字符)。

value

是

String

鉴权响应头中对应key的value(长度为1~512个字符)。

表8 PluginThirdAuthParameters

参数

是否必选

参数类型

描述

type

是

String

参数类型。支持的取值:

  • header:HTTP头域的第一个值
  • query:QueryString的第一个值
  • path:HTTP完整请求路径
  • method:HTTP请求方法
  • system:系统参数

name

是

String

参数名称,path为reqPath,method为method,header和query为API请求中的请求头的key和query参数的key,system从以下选取[sourceIp,stage,apiId,appId,requestId,serverAddr,serverName,handleTime,providerAppId,apiName,appName,authorizer.frotend.××,authorizer.backend.××]。

value

是

String

参数来源值。

表9 PluginThirdAuthRule

参数

是否必选

参数类型

描述

rule_name

是

String

参数校验规则名称(开头必须是一个字母、数字或汉字,接下来可以是字母、数字、冒号、点、下划线、括号、斜杠或汉字,但不能以空格开头。这个文本可以包含2到254个字符,且结尾不能是空格)。

match_regex

是

String

参数校验规则,一条规则用[]表示,[]内有参数名称、匹配规则(==(等于),~=(不等于),in(枚举),~~(正则))、匹配值组成,[]内可嵌套方括号,同一层级之间的方括号用OR或者AND连接,表示或和与的关系(下面的example表示满足header里的Host参数匹配正则“^f0269b2874ef0b65bee1f314e52aa.*$”,或者满足(请求path为/a或/b),或者满足(请求path为/returnRequest或/d),则通过此条规则校验)。