参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
该插件支持使用 env:// 前缀引用环境变量中的敏感参数值,或使用 secret:// 前缀引用 Secret 管理器(如 HashiCorp Vault 的 KV 密钥引擎 中的值。更多信息,请参阅环境变量中的插件和Secrets。
client_id
string
required
Client ID。
client_secret
string
Client Secret。该值在存储到 etcd 之前会使用 AES 加密。
discovery
string
发现文档的 URL。
token_endpoint
string
支持
urn:ietf:params:oauth:grant-type:uma-ticket授权类型以获取访问令牌的令牌端点。如果提供,将覆盖发现文档中的值。resource_registration_endpoint
string
符合 UMA 标准的资源注册端点。当
lazy_load_paths为 true 时必填。插件将首先从该配置选项中查找资源注册端点;如果没有找到,则从发现文档中查找。grant_type
string
default:
urn:ietf:params:oauth:grant-type:uma-ticketvaild vaule:
urn:ietf:params:oauth:grant-type:uma-ticket
必须设置为
urn:ietf:params:oauth:grant-type:uma-ticket。policy_enforcement_mode
string
default:
ENFORCINGvaild vaule:
ENFORCINGorPERMISSIVEpermissions
array[string]
代表客户端寻求访问的一组资源和 Scope 的权限数组。格式可以是
RESOURCE_ID#SCOPE_ID、RESOURCE_ID或#SCOPE_ID。当lazy_load_paths为 false 时使用。参见 获取权限。lazy_load_paths
string
default:
false如果为 true,则需要发现文档或资源注册端点来动态将请求 URI 解析为资源。参见 lazy-load-paths。
注意,这要求插件从令牌端点为自己获取一个单独的访问令牌。因此,请确保选中 Keycloak 中的
Service Accounts Enabled选项以允许客户端凭据模式(Client Credentials Grant)。确还保颁发的访问令牌包含带有uma_protection角色的resource_accessclaim,以便插件通过 Protection API 查询资源。http_method_as_scope
boolean
default:
false如果为 true,则使用请求的 HTTP 方法作为 Scope 来检查是否应授予访问权限。
在
lazy_load_paths设置为 false 的情况下,插件会将映射的 Scope 添加到permissions属性中配置的任何静态权限中,即使它们 已经包含一个或多个 Scope。timeout
integer
default:
3000vaild vaule:
大于或等于 1000
与身份提供商的 HTTP 连接超时时间(以毫秒为单位)。
access_token_expires_in
integer
default:
300vaild vaule:
大于或等于 1
如果令牌端点响应中没有
expires_in属性,则为访问令牌的生命周期(以秒为单位)。access_token_expires_leeway
integer
vaild vaule:
大于或等于 0
访问令牌续期的过期缓冲时间(以秒为单位)。当设置为大于 0 的值时,令牌续期将在令牌过期前的设定时间内进行。这避免了访问令牌在刚到达资源服务器时过期的错误。
refresh_token_expires_in
integer
default:
3600vaild vaule:
大于 0
刷新令牌的过期时间(以秒为单位)。
refresh_token_expires_leeway
integer
vaild vaule:
大于或等于 0
刷新令牌续期的过期缓冲时间(以秒为单位)。当设置为大于 0 的值时,令牌续期将在令牌过期前的设定时间内进行。这避免了访问令牌在刚到达资源服务器时过期的错误。
ssl_verify
boolean
default:
true如果为 true,验证 OpenID 提供商的 SSL 证书。
cache_ttl_seconds
integer
default:
86400vaild vaule:
大于 0
插件缓存发现文档和访问令牌的 TTL(以秒为单位)。
keepalive
boolean
default:
true如果为 true,则启用 HTTP 长连接(Keep-Alive)以在使用后保持连接打开。如果你预期对 Keycloak 有大量请求,请设置为
true。keepalive_timeout
integer
default:
60000vaild vaule:
大于或等于 1000
建立的 HTTP 连接在关闭前的空闲时间。
keepalive_pool
integer
default:
5vaild vaule:
大于或等于 1