参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
uri
string
required
外部授权服务的 URI。
ssl_verify
boolean
default:
true如果为 true,验证授权服务的 SSL 证书。
request_method
string
default:
GETvaild vaule:
GETorPOSTAPISIX 用来向外部授权服务发送请求的 HTTP 方法。默认情况下,APISIX 向外部授权服务发送 GET 请求。
当设置为
POST时,APISIX 会向外部授权服务发送 POST 请求以及请求 Body。但这并不推荐。如果授权决策取决于 POST Body 中的请求参数,建议使用$post_arg.*提取所需字段,并通过extra_headers字段传递它们。这种方法避免了发送完整的请求 Body,减少了开销,并使授权服务专注于通过头信息进行决策。request_headers
array[string]
应转发到外部授权服务的客户端请求头。如果未配置,则仅转发 APISIX 添加的头,例如
X-Forwarded-*。upstream_headers
array[string]
应转发到上游服务的外部授权服务响应头。如果未配置,则没有头会被转发到上游服务。
client_headers
array[string]
当认证失败时,应转发给客户端的外部授权服务响应头。如果未配置,则 没有头会被转发给客户端。
extra_headers
timeout
integer
default:
3000vaild vaule:
介于 1 到 60000 之间(含边界值)
外部授权服务 HTTP 调用的超时时间(以毫秒为单位)。
keepalive
boolean
default:
true如果为 true,则保持连接打开以用于多个请求。
keepalive_timeout
integer
default:
60000vaild vaule:
大于或等于 1000
建立的 HTTP 连接在关闭前的空闲时间。
keepalive_pool
integer
default:
5vaild vaule:
大于或等于 1
连接池中的最大连接数。
allow_degradation
boolean
default:
false如果为 true,允许 APISIX 在插件或其依赖项不可用时继续处理请求(不使用插件)。
status_on_error
integer
default:
403vaild vaule:
介于 200 到 599 之间(含边界值)
当外部授权服务出现网络错误时,返回给客户端的 HTTP 状态码。