Chapter 15. Enabling and disabling features
Configure Red Hat build of Keycloak to use optional features.
Red Hat build of 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 Red Hat build of Keycloak.
15.1. Enabling features Copy linkLink copied to clipboard!
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.
15.1.1. Single option Copy linkLink copied to clipboard!
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.
15.1.2. List of enabled features Copy linkLink copied to clipboard!
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"
15.1.3. Versioning Copy linkLink copied to clipboard!
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
15.2. Disabling features Copy linkLink copied to clipboard!
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.
15.2.1. Single option Copy linkLink copied to clipboard!
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.
15.2.2. List of disabled features Copy linkLink copied to clipboard!
bin/kc.[sh|bat] build --features-disabled="<name>[,<name>]"
For example to disable impersonation, enter this command:
bin/kc.[sh|bat] build --features-disabled="impersonation"
It is not allowed to have a feature in both the features-disabled list and the features list.
15.3. Supported features Copy linkLink copied to clipboard!
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 |
|
| OAuth 2.0 Device Authorization Grant |
|
| OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer |
|
| Hostname Options V2 |
|
| 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 |
|
| 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 |
|
| Step-up Authentication |
|
| Standard Token Exchange version 2 |
|
| Update Email Action |
|
| Collect metrics based on user events |
|
| W3C Web Authentication (WebAuthn) |
|
| Workflows |
15.3.1. Disabled by default Copy linkLink copied to clipboard!
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 |
|
| Multi-site support |
15.4. Preview features Copy linkLink copied to clipboard!
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 Secret Rotation |
|
| Optimized JSON serializers for better performance of the HTTP layer |
|
| Identity Brokering API V2 |
|
| OpenTelemetry Logs support |
|
| Write custom authenticators using JavaScript |
|
| SPIFFE trust relationship provider |
|
| Step-up Authentication Saml |
|
| Token Exchange Service |
15.5. Deprecated features Copy linkLink copied to clipboard!
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 |
|
| Legacy Login Theme |
|
| Logout all sessions logs out only regular sessions |
|
| Passkeys conditional UI authenticator |
|
| Rolling Updates |
15.6. Relevant options Copy linkLink copied to clipboard!
| Type or Values | Default | |
|---|---|---|
| 🛠
| String | |
| 🛠
|
| |
| 🛠
|
|