启用和禁用功能

了解如何配置 Keycloak 以使用可选功能

Keycloak 在功能中打包了一些功能,包括一些禁用的功能,例如技术预览和已弃用的功能。其他功能默认启用,但如果它们不适用于您的 Keycloak 用例,您可以禁用它们。

启用功能

一些受支持的功能以及所有预览功能默认情况下均处于禁用状态。要启用某项功能,请输入以下命令

bin/kc.[sh|bat] build --features="<name>[,<name>]"

例如,要启用 dockertoken-exchange,请输入以下命令

bin/kc.[sh|bat] build --features="docker,token-exchange"

要启用所有预览功能,请输入以下命令

bin/kc.[sh|bat] build --features="preview"

启用的功能可能是版本化的,也可能是未版本化的。如果您使用版本化的功能名称,例如 feature:v1,只要该确切的功能版本在运行时仍然存在,就会启用该版本。如果您改用未版本化的名称,例如仅 feature,则特定受支持功能版本的选择可能会因版本而异,具体取决于以下优先级

  1. 最高的默认支持版本

  2. 最高的非默认支持版本

  3. 最高的已弃用版本

  4. 最高的预览版本

  5. 最高的实验版本

禁用功能

要禁用默认启用的功能,请输入以下命令

bin/kc.[sh|bat] build --features-disabled="<name>[,<name>]"

例如,要禁用 impersonation,请输入以下命令

bin/kc.[sh|bat] build --features-disabled="impersonation"

不允许在 features-disabled 列表和 features 列表中同时包含同一功能。

当禁用某项功能时,该功能的所有版本都将被禁用。

受支持的功能

以下列表包含默认启用且可以根据需要禁用的受支持功能。

account-api

账户管理 REST API

account-v3

账户控制台版本 3

admin-api

管理 API

admin-fine-grained-authz-v2

细粒度管理权限版本 2

admin-v2

新的管理控制台

authorization

授权服务

ciba

OpenID Connect 客户端发起的后台通道身份验证 (CIBA)

client-policies

客户端配置策略

device-flow

OAuth 2.0 设备授权许可

hostname-v2

主机名选项 V2

impersonation

管理员模拟用户的能力

kerberos

Kerberos

login-v2

新的登录主题

opentelemetry

OpenTelemetry 跟踪

organization

领域内的组织支持

par

OAuth 2.0 推送授权请求 (PAR)

persistent-user-sessions

跨重启和升级的持久在线用户会话

rolling-updates-v1

滚动更新

step-up-authentication

步进式身份验证

token-exchange-standard-v2

标准令牌交换版本 2

user-event-metrics

基于用户事件收集指标

web-authn

W3C Web 身份验证 (WebAuthn)

默认禁用

以下列表包含默认禁用且可以根据需要启用的受支持功能。

docker

Docker 注册表协议

fips

FIPS 140-2 模式

multi-site

多站点支持

预览功能

预览功能默认情况下处于禁用状态,不建议在生产环境中使用。这些功能可能会在未来的版本中更改或删除。

admin-fine-grained-authz

细粒度管理权限

client-secret-rotation

客户端密钥轮换

dpop

OAuth 2.0 在应用层演示所有权证明

passkeys

通行密钥

recovery-codes

恢复代码

scripts

使用 JavaScript 编写自定义身份验证器

token-exchange

令牌交换服务

update-email

更新电子邮件操作

已弃用的功能

以下列表包含将在未来版本中删除的已弃用功能。这些功能默认情况下处于禁用状态。

login-v1

旧版登录主题

相关选项

features

启用一组或多项功能。

CLI: --features
Env: KC_FEATURES

account-api[:v1], account[:v3], admin-api[:v1], admin-fine-grained-authz[:v1,v2], admin[:v2], authorization[:v1], cache-embedded-remote-store[:v1], ciba[:v1], client-policies[:v1], client-secret-rotation[:v1], client-types[:v1], clusterless[:v1], declarative-ui[:v1], device-flow[:v1], docker[:v1], dpop[:v1], dynamic-scopes[:v1], fips[:v1], hostname[:v2], impersonation[:v1], ipa-tuura-federation[:v1], kerberos[:v1], login[:v2,v1], multi-site[:v1], oid4vc-vci[:v1], opentelemetry[:v1], organization[:v1], par[:v1], passkeys[:v1], persistent-user-sessions[:v1], preview, quick-theme[:v1], recovery-codes[:v1], rolling-updates[:v1], scripts[:v1], step-up-authentication[:v1], token-exchange-standard[:v2], token-exchange[:v1], transient-users[:v1], update-email[:v1], user-event-metrics[:v1], web-authn[:v1]

features-disabled

禁用一组或多项功能。

CLI: --features-disabled
Env: KC_FEATURES_DISABLED

account, account-api, admin, admin-api, admin-fine-grained-authz, authorization, cache-embedded-remote-store, ciba, client-policies, client-secret-rotation, client-types, clusterless, declarative-ui, device-flow, docker, dpop, dynamic-scopes, fips, impersonation, ipa-tuura-federation, kerberos, login, multi-site, oid4vc-vci, opentelemetry, organization, par, passkeys, persistent-user-sessions, preview, quick-theme, recovery-codes, rolling-updates, scripts, step-up-authentication, token-exchange, token-exchange-standard, transient-users, update-email, user-event-metrics, web-authn

在此页面上