跳到主要内容

参数

请参阅 插件通用配置 了解所有插件可用的配置选项。

该插件支持使用 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-ticket


    vaild vaule:

    urn:ietf:params:oauth:grant-type:uma-ticket


    必须设置为 urn:ietf:params:oauth:grant-type:uma-ticket

  • policy_enforcement_mode

    string


    default: ENFORCING


    vaild vaule:

    ENFORCING or PERMISSIVE


    策略执行 的模式。

    ENFORCING 模式下,当资源没有关联策略时,请求将被拒绝。

    PERMISSIVE 模式下,当资源没有关联策略时,请求将被允许。

  • permissions

    array[string]


    代表客户端寻求访问的一组资源和 Scope 的权限数组。格式可以是 RESOURCE_ID#SCOPE_IDRESOURCE_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_access claim,以便插件通过 Protection API 查询资源。

  • http_method_as_scope

    boolean


    default: false


    如果为 true,则使用请求的 HTTP 方法作为 Scope 来检查是否应授予访问权限。

    lazy_load_paths 设置为 false 的情况下,插件会将映射的 Scope 添加到 permissions 属性中配置的任何静态权限中,即使它们已经包含一个或多个 Scope。

  • timeout

    integer


    default: 3000


    vaild vaule:

    大于或等于 1000


    与身份提供商的 HTTP 连接超时时间(以毫秒为单位)。

  • access_token_expires_in

    integer


    default: 300


    vaild vaule:

    大于或等于 1


    如果令牌端点响应中没有 expires_in 属性,则为访问令牌的生命周期(以秒为单位)。

  • access_token_expires_leeway

    integer


    vaild vaule:

    大于或等于 0


    访问令牌续期的过期缓冲时间(以秒为单位)。当设置为大于 0 的值时,令牌续期将在令牌过期前的设定时间内进行。这避免了访问令牌在刚到达资源服务器时过期的错误。

  • refresh_token_expires_in

    integer


    default: 3600


    vaild vaule:

    大于 0


    刷新令牌的过期时间(以秒为单位)。

  • refresh_token_expires_leeway

    integer


    vaild vaule:

    大于或等于 0


    刷新令牌续期的过期缓冲时间(以秒为单位)。当设置为大于 0 的值时,令牌续期将在令牌过期前的设定时间内进行。这避免了访问令牌在刚到达资源服务器时过期的错误。

  • ssl_verify

    boolean


    default: true


    如果为 true,验证 OpenID 提供商的 SSL 证书。

  • cache_ttl_seconds

    integer


    default: 86400


    vaild vaule:

    大于 0


    插件缓存发现文档和访问令牌的 TTL(以秒为单位)。

  • keepalive

    boolean


    default: true


    如果为 true,则启用 HTTP 长连接(Keep-Alive)以在使用后保持连接打开。如果你预期对 Keycloak 有大量请求,请设置为 true

  • keepalive_timeout

    integer


    default: 60000


    vaild vaule:

    大于或等于 1000


    建立的 HTTP 连接在关闭前的空闲时间。

  • keepalive_pool

    integer


    default: 5


    vaild vaule:

    大于或等于 1


    连接池中的最大连接数。

  • access_denied_redirect_uri

    string


    当访问被拒绝时,将用户重定向到的 URI,而不是返回类似 'error_description':'not_authorized' 的错误消息。

  • password_grant_token_generation_incoming_uri

    string


    用户请求生成密码模式(Password Grant)令牌的传入 URI,例如 /api/token。如果传入请求的 URI 匹配配置的值,请求方法是 POST,并且 Content-Typeapplication/x-www-form-urlencoded,则会在 token_endpoint 生成 Token。