更新时间:2025-08-15 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),则通过此条规则校验)。