bin/kc.[sh|bat] build --feature-<name>=enabled|disabled|vX
Keycloak has packed some functionality in features, including some disabled features, such as Technology Preview and deprecated features. Other features are enabled by default, but you can disable them if they do not apply to your use of Keycloak.
Some supported features, and all preview features, are disabled by default. You can enable feature either via single option or including it into the list of enabled feature.
You can enable the specific feature <name> as follows:
bin/kc.[sh|bat] build --feature-<name>=enabled|disabled|vX
Possible values are enabled, disabled, or a specific version of the feature that should be enabled.
For example, to enable token-exchange, enter this command:
bin/kc.[sh|bat] build --feature-token-exchange=enabled
The single-option mechanism is useful when updating long feature lists is cumbersome or when you want to modify a specific feature without overriding the entire list in a pre-built image.
bin/kc.[sh|bat] build --features="<name>[,<name>]"
For example, to enable docker and token-exchange, enter this command:
bin/kc.[sh|bat] build --features="docker,token-exchange"
To enable all preview features, enter this command:
bin/kc.[sh|bat] build --features="preview"
Enabled feature may be versioned, or unversioned. If you use a versioned feature name, e.g. feature:v1, that exact feature version will be enabled as long as it still exists in the runtime. If you instead use an unversioned name, e.g. just feature, the selection of the particular supported feature version may change from release to release according to the following precedence:
The highest default supported version
The highest non-default supported version
The highest deprecated version
The highest preview version
The highest experimental version
To disable a feature that is enabled by default, you can use a single option or a list of disabled features. When a feature is disabled, all versions of that feature are disabled.
You can disable the specific feature <name> as follows:
bin/kc.[sh|bat] build --feature-<name>=disabled
For example, to disable dpop and recovery-codes, enter this command:
bin/kc.[sh|bat] build --feature-dpop=disabled --feature-recovery-codes=disabled
The single-option mechanism is useful when updating long feature lists is cumbersome or when you want to modify a specific feature without overriding the entire list in a pre-built image.
The following list contains supported features that are enabled by default, and can be disabled if not needed.
| Feature | Description |
|---|---|
|
Account Management REST API |
|
Account Console version 3 |
|
Admin API |
|
Fine-Grained Admin Permissions version 2 |
|
New Admin Console |
|
Authorization Service |
|
OpenID Connect Client Initiated Backchannel Authentication (CIBA) |
|
Authenticates client based on assertions issued by identity provider |
|
Client configuration policies |
|
Client Secret Rotation |
|
OAuth 2.0 Device Authorization Grant |
|
OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer |
|
Hostname Options V2 |
|
Apache-based outbound HTTP client |
|
Identity Brokering API V1 |
|
Ability for admins to impersonate users |
|
JWT Profile for Oauth 2.0 Authorization Grant |
|
Kerberos |
|
Kubernetes service accounts trust relationship provider |
|
Mapped Diagnostic Context (MDC) information in logs |
|
Persistent login failures |
|
New Login Theme |
|
OpenTelemetry support |
|
Organization support within realms |
|
OAuth 2.0 Pushed Authorization Requests (PAR) |
|
Passkeys |
|
Persistent online user sessions across restarts and upgrades |
|
Recovery codes |
|
Rolling Updates for patch releases |
|
Exposes a SCIM API for managing realm resources on a per-realm basis |
|
Step-up Authentication |
|
Step-up Authentication Saml |
|
Standard Token Exchange version 2 |
|
Twitter Identity Broker |
|
Update Email Action |
|
Collect metrics based on user events |
|
W3C Web Authentication (WebAuthn) |
|
Workflows |
The following list contains supported features that are disabled by default, and can be enabled if needed.
| Feature | Description |
|---|---|
|
Docker Registry protocol |
|
FIPS 140-2 mode |
|
Identity Brokering API V2 |
|
Stateless (stores authentication sessions, action tokens and login failure data in the database, allowing multiple clusters to be connected with just the database) |
Preview features are disabled by default and are not recommended for use in production. These features may change or be removed at a future release.
| Feature | Description |
|---|---|
|
Client Admin API v2 |
|
Optimized JSON serializers for better performance of the HTTP layer |
|
Support for the OID4VCI protocol as part of OID4VC. |
|
OpenTelemetry Logs support |
|
Parameterized OAuth 2.0 client scopes |
|
Write custom authenticators using JavaScript |
|
SPIFFE trust relationship provider |
|
Token Exchange Service |
|
Token Exchange Delegation |
The following list contains deprecated features that will be removed in a future release. These features are disabled by default.
| Feature | Description |
|---|---|
|
Fine-Grained Admin Permissions |
|
Instagram Identity Broker |
|
In-memory login failures |
|
Legacy Login Theme |
|
Logout all sessions logs out only regular sessions |
|
Multi-site support |
|
Passkeys conditional UI authenticator |
|
Rolling Updates |
| Type or Values | Default | |
|---|---|---|
|
String |
|
|
|
|
|
|