参数
请参阅 插件通用配置 了解所有插件可用的配置选项。
该插件支持使用 env:// 前缀引用环境变量中的敏感参数值,或使用 secret:// 前缀引用 Secret 管理器(如 HashiCorp Vault 的 KV 密钥引擎)中的值。更多信息,请参阅环境变量中的插件和密钥。
client_id
Client ID。
client_secret
插件向令牌端点进行身份认证时使用的 Client Secret。启用字段加密且配置存储在 etcd 中时,网关会先加密此值再存储。
discovery
发现文档的 URL。
discovery和token_endpoint至少需要配置一个。token_endpoint
支持
urn:ietf:params:oauth:grant-type:uma-ticket授权类型并用于权限评估的令牌端点。如果提供此项,它将覆盖发现文档中的值。discovery和token_endpoint至少需要配置一个。resource_registration_endpoint
符合 UMA 标准的资源注册端点。当
lazy_load_paths为true时,插件优先使用此值,否则从发现文档获取该端点。动态路径加载需要配置discovery,或同时配置token_endpoint和resource_registration_endpoint。grant_type
有效值:
urn:ietf:params:oauth:grant-type:uma-ticket
用于权限评估的 UMA Ticket 授权类型。这是默认值,也是唯一可接受的值。
policy_enforcement_mode
有效值:
ENFORCING或PERMISSIVE控制插件在向 Keycloak 请求决策之前如何处理空权限列表。
在
ENFORCING模式下,空权限列表会返回403 Forbidden;如果配置了access_denied_redirect_uri,则返回307 Temporary Redirect。在
PERMISSIVE模式下,插件继续发送不含 permission 参数的 UMA 令牌请求,最终仍由 Keycloak 决定是否授权。permissions
表示客户端要访问的资源和 Scope 的权限。支持
RESOURCE_ID#SCOPE_ID、RESOURCE_ID和#SCOPE_ID三种格式。当lazy_load_paths为false时使用。参见获取权限。lazy_load_paths
如果为
true,则通过资源注册端点将请求 URI 动态解析为 Keycloak 资源。参见延迟加载路径。动态加载要求插件获取服务账户访问令牌。为 Keycloak 客户端启用 Service account roles,并确保令牌包含
uma_protection角色,之后才能使用 Protection API。http_method_as_scope