启用和禁用功能

了解如何配置 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-v2

新的管理控制台

authorization

授权服务

ciba

OpenID Connect 客户端启动的后端通道身份验证 (CIBA)

client-policies

客户端配置策略

device-flow

OAuth 2.0 设备授权授予

hostname-v2

主机名选项 V2

impersonation

管理员模拟用户的权限

kerberos

Kerberos

login-v2

新的登录主题

organization

领域内的组织支持

par

OAuth 2.0 推送授权请求 (PAR)

persistent-user-sessions

在重启和升级过程中持久保留在线用户会话

step-up-authentication

逐步升级身份验证

web-authn

W3C 网页身份验证 (WebAuthn)

默认禁用

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

docker

Docker 注册表协议

fips

FIPS 140-2 模式

multi-site

多站点支持

预览功能

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

admin-fine-grained-authz

细粒度管理员权限

client-secret-rotation

客户端密钥轮换

dpop

OAuth 2.0 在应用程序层演示拥有权证明

opentelemetry

OpenTelemetry 跟踪

passkeys

通行密钥

recovery-codes

恢复代码

scripts

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

token-exchange

令牌交换服务

update-email

更新电子邮件操作

已弃用的功能

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

login-v1

旧版登录主题

相关选项

features

启用一组或多组功能。

CLI: --features
环境变量: KC_FEATURES

account-api[:v1], account[:v3], admin-api[:v1], admin-fine-grained-authz[:v1], 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], kerberos[:v1], login[:v2,v1], multi-site[:v1], oid4vc-vci[:v1], opentelemetry[:v1], organization[:v1], par[:v1], passkeys[:v1], persistent-user-sessions[:v1], preview, recovery-codes[:v1], scripts[:v1], step-up-authentication[:v1], token-exchange[:v1], transient-users[:v1], update-email[:v1], web-authn[:v1]

features-disabled

禁用一组或多组功能。

CLI: --features-disabled
环境变量: 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, kerberos, login, multi-site, oid4vc-vci, opentelemetry, organization, par, passkeys, persistent-user-sessions, preview, recovery-codes, scripts, step-up-authentication, token-exchange, transient-users, update-email, web-authn

在本页