diff --git a/crypto/default/src/main/java/org/keycloak/crypto/hash/Argon2PasswordHashProviderFactory.java b/crypto/default/src/main/java/org/keycloak/crypto/hash/Argon2PasswordHashProviderFactory.java index 2d6bdea945..c625a510bf 100644 --- a/crypto/default/src/main/java/org/keycloak/crypto/hash/Argon2PasswordHashProviderFactory.java +++ b/crypto/default/src/main/java/org/keycloak/crypto/hash/Argon2PasswordHashProviderFactory.java @@ -126,7 +126,7 @@ public class Argon2PasswordHashProviderFactory implements PasswordHashProviderFa } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return !Profile.isFeatureEnabled(Profile.Feature.FIPS); } diff --git a/docs/documentation/release_notes/topics/25_0_0.adoc b/docs/documentation/release_notes/topics/25_0_0.adoc index 9a1d97df62..36632fb702 100644 --- a/docs/documentation/release_notes/topics/25_0_0.adoc +++ b/docs/documentation/release_notes/topics/25_0_0.adoc @@ -119,6 +119,12 @@ By default, the syslog handler is disabled, but when enabled, it sends all log e For more information, see the https://www.keycloak.org/server/logging[Configuring logging] guide. += Change to class `EnvironmentDependentProviderFactory` + +The method `EnvironmentDependentProviderFactory.isSupported()` was deprecated for several releases and has now been removed. + +For more details, see the link:{upgradingguide_link}[{upgradingguide_name}]. + = All `cache` options are runtime It is now possible to specify the `cache`, `cache-stack`, and `cache-config-file` options during runtime. diff --git a/docs/documentation/upgrading/topics/changes/changes-25_0_0.adoc b/docs/documentation/upgrading/topics/changes/changes-25_0_0.adoc index 4c18c74825..a09c6232ef 100644 --- a/docs/documentation/upgrading/topics/changes/changes-25_0_0.adoc +++ b/docs/documentation/upgrading/topics/changes/changes-25_0_0.adoc @@ -248,6 +248,12 @@ The escape char is the tilde character `~`. The previous example results in the The escaping is currently disabled by default because it represents a change in behavior. Nevertheless enabling escaping is recommended and it can be the default in future versions. += Change to class `EnvironmentDependentProviderFactory` + +The method `EnvironmentDependentProviderFactory.isSupported()` was deprecated for several releases and has now been removed. + +Instead, implement `isSupported(Config.Scope config)`. + = Removal of the deprecated LinkedIn provider In version 22.0.2 the OAuh 2.0 social provider for LinkedIn was replaced by a new OpenId Connect implementation. The legacy provider was deprecated but not removed, just in case it was still functional in some existing realms. {project_name} 25.0.0 is definitely removing the old provider and its associated `linkedin-oauth` feature. From now on, the default `LinkedIn` social provider is the only option available. diff --git a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java index b07f60b6da..a197a5355f 100755 --- a/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java +++ b/federation/kerberos/src/main/java/org/keycloak/federation/kerberos/KerberosFederationProviderFactory.java @@ -63,7 +63,7 @@ public class KerberosFederationProviderFactory implements UserStorageProviderFac } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.KERBEROS); } diff --git a/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProviderFactory.java b/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProviderFactory.java index 9330ea1e0e..7042444f2e 100755 --- a/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProviderFactory.java +++ b/federation/sssd/src/main/java/org/keycloak/federation/sssd/SSSDFederationProviderFactory.java @@ -94,7 +94,7 @@ public class SSSDFederationProviderFactory implements UserStorageProviderFactory } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return AvailabilityChecker.isAvailable(); } } diff --git a/model/infinispan/src/main/java/org/keycloak/connections/infinispan/InfinispanMultiSiteLoadBalancerCheckProviderFactory.java b/model/infinispan/src/main/java/org/keycloak/connections/infinispan/InfinispanMultiSiteLoadBalancerCheckProviderFactory.java index df47c119aa..8ccbb7adcc 100644 --- a/model/infinispan/src/main/java/org/keycloak/connections/infinispan/InfinispanMultiSiteLoadBalancerCheckProviderFactory.java +++ b/model/infinispan/src/main/java/org/keycloak/connections/infinispan/InfinispanMultiSiteLoadBalancerCheckProviderFactory.java @@ -72,7 +72,7 @@ public class InfinispanMultiSiteLoadBalancerCheckProviderFactory implements Load } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.MULTI_SITE); } } diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/hostname/DefaultHostnameProvider.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/hostname/DefaultHostnameProvider.java index abadc5517b..1e48fe5071 100644 --- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/hostname/DefaultHostnameProvider.java +++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/hostname/DefaultHostnameProvider.java @@ -359,7 +359,7 @@ public final class DefaultHostnameProvider implements HostnameProvider, Hostname } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Feature.HOSTNAME_V1); } } diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/vault/FilesKeystoreVaultProviderFactory.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/vault/FilesKeystoreVaultProviderFactory.java index 666a4dd637..ee68678922 100644 --- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/vault/FilesKeystoreVaultProviderFactory.java +++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/vault/FilesKeystoreVaultProviderFactory.java @@ -31,11 +31,6 @@ public class FilesKeystoreVaultProviderFactory extends org.keycloak.vault.FilesK return ID; } - @Override - public boolean isSupported() { - return false; - } - @Override public boolean isSupported(Config.Scope config) { return getId().equals(Configuration.getRawValue("kc.vault")); diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/vault/FilesPlainTextVaultProviderFactory.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/vault/FilesPlainTextVaultProviderFactory.java index df977ccf3a..f1d873fa4b 100644 --- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/vault/FilesPlainTextVaultProviderFactory.java +++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/vault/FilesPlainTextVaultProviderFactory.java @@ -31,11 +31,6 @@ public class FilesPlainTextVaultProviderFactory extends org.keycloak.vault.Files return ID; } - @Override - public boolean isSupported() { - return false; - } - @Override public boolean isSupported(Config.Scope config) { return getId().equals(Configuration.getRawValue("kc.vault")); diff --git a/rest/admin-ui-ext/src/main/java/org/keycloak/admin/ui/rest/AdminExtProvider.java b/rest/admin-ui-ext/src/main/java/org/keycloak/admin/ui/rest/AdminExtProvider.java index a40e8ae96e..d050a0f564 100644 --- a/rest/admin-ui-ext/src/main/java/org/keycloak/admin/ui/rest/AdminExtProvider.java +++ b/rest/admin-ui-ext/src/main/java/org/keycloak/admin/ui/rest/AdminExtProvider.java @@ -34,7 +34,7 @@ public final class AdminExtProvider implements AdminRealmResourceProviderFactory } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.ADMIN2); } } diff --git a/server-spi-private/src/main/java/org/keycloak/policy/RecoveryCodesWarningThresholdPasswordPolicyProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/policy/RecoveryCodesWarningThresholdPasswordPolicyProviderFactory.java index 7976c02af1..7dd6b15a71 100644 --- a/server-spi-private/src/main/java/org/keycloak/policy/RecoveryCodesWarningThresholdPasswordPolicyProviderFactory.java +++ b/server-spi-private/src/main/java/org/keycloak/policy/RecoveryCodesWarningThresholdPasswordPolicyProviderFactory.java @@ -93,7 +93,7 @@ public class RecoveryCodesWarningThresholdPasswordPolicyProviderFactory implemen } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.RECOVERY_CODES); } } diff --git a/server-spi-private/src/main/java/org/keycloak/provider/EnvironmentDependentProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/provider/EnvironmentDependentProviderFactory.java index 885492f4bb..1937368030 100644 --- a/server-spi-private/src/main/java/org/keycloak/provider/EnvironmentDependentProviderFactory.java +++ b/server-spi-private/src/main/java/org/keycloak/provider/EnvironmentDependentProviderFactory.java @@ -28,22 +28,10 @@ import org.keycloak.Config; public interface EnvironmentDependentProviderFactory { /** - * @return true if the provider is supported and should be available, false otherwise - * @deprecated Prefer overriding/using the {@link #isSupported(Config.Scope)} method. - */ - @Deprecated - default boolean isSupported() { - return false; - } - - /** - * An alternative to {@link #isSupported()} method to check if the provider is supported based on the - * provider configuration. + * Check if the provider is supported and should be available based on the provider configuration. * * @param config the provider configuration * @return {@code true} if the provider is supported. Otherwise, {@code false}. */ - default boolean isSupported(Config.Scope config) { - return isSupported(); - } + boolean isSupported(Config.Scope config); } diff --git a/server-spi-private/src/main/java/org/keycloak/services/clientpolicy/condition/ClientPolicyConditionProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/services/clientpolicy/condition/ClientPolicyConditionProviderFactory.java index 7f1cf6d174..620a788b39 100644 --- a/server-spi-private/src/main/java/org/keycloak/services/clientpolicy/condition/ClientPolicyConditionProviderFactory.java +++ b/server-spi-private/src/main/java/org/keycloak/services/clientpolicy/condition/ClientPolicyConditionProviderFactory.java @@ -17,6 +17,7 @@ package org.keycloak.services.clientpolicy.condition; +import org.keycloak.Config; import org.keycloak.common.Profile; import org.keycloak.provider.ConfiguredProvider; import org.keycloak.provider.EnvironmentDependentProviderFactory; @@ -28,7 +29,7 @@ import org.keycloak.provider.ProviderFactory; public interface ClientPolicyConditionProviderFactory extends ProviderFactory, ConfiguredProvider, EnvironmentDependentProviderFactory { @Override - default boolean isSupported() { + default boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.CLIENT_POLICIES); } } diff --git a/server-spi-private/src/main/java/org/keycloak/services/clientpolicy/executor/ClientPolicyExecutorProviderFactory.java b/server-spi-private/src/main/java/org/keycloak/services/clientpolicy/executor/ClientPolicyExecutorProviderFactory.java index 801444e190..ba0d5fbc16 100644 --- a/server-spi-private/src/main/java/org/keycloak/services/clientpolicy/executor/ClientPolicyExecutorProviderFactory.java +++ b/server-spi-private/src/main/java/org/keycloak/services/clientpolicy/executor/ClientPolicyExecutorProviderFactory.java @@ -17,6 +17,7 @@ package org.keycloak.services.clientpolicy.executor; +import org.keycloak.Config; import org.keycloak.common.Profile; import org.keycloak.provider.ConfiguredProvider; import org.keycloak.provider.EnvironmentDependentProviderFactory; @@ -28,7 +29,7 @@ import org.keycloak.provider.ProviderFactory; public interface ClientPolicyExecutorProviderFactory extends ProviderFactory, ConfiguredProvider, EnvironmentDependentProviderFactory { @Override - default boolean isSupported() { + default boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.CLIENT_POLICIES); } } diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/DeployedScriptAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/DeployedScriptAuthenticatorFactory.java index 3615758a85..879f7358a5 100644 --- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/DeployedScriptAuthenticatorFactory.java +++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/DeployedScriptAuthenticatorFactory.java @@ -23,15 +23,12 @@ import java.util.Map; import org.keycloak.Config; import org.keycloak.authentication.AuthenticationFlowContext; import org.keycloak.authentication.Authenticator; -import org.keycloak.common.Profile; import org.keycloak.deployment.DeployedConfigurationsManager; import org.keycloak.models.AuthenticatorConfigModel; import org.keycloak.models.KeycloakSession; import org.keycloak.models.KeycloakSessionFactory; import org.keycloak.models.utils.KeycloakModelUtils; -import org.keycloak.models.utils.PostMigrationEvent; import org.keycloak.provider.ProviderConfigProperty; -import org.keycloak.provider.ProviderEvent; import org.keycloak.representations.provider.ScriptProviderMetadata; /** @@ -82,11 +79,6 @@ public final class DeployedScriptAuthenticatorFactory extends ScriptBasedAuthent return model.getAlias(); } - @Override - public boolean isSupported() { - return Profile.isFeatureEnabled(Profile.Feature.SCRIPTS); - } - @Override public void init(Config.Scope config) { model = createModel(metadata); diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/RecoveryAuthnCodesFormAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/RecoveryAuthnCodesFormAuthenticatorFactory.java index 950c557298..573a6eaeb5 100644 --- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/RecoveryAuthnCodesFormAuthenticatorFactory.java +++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/RecoveryAuthnCodesFormAuthenticatorFactory.java @@ -76,7 +76,7 @@ public class RecoveryAuthnCodesFormAuthenticatorFactory implements Authenticator } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.RECOVERY_CODES); } } diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ScriptBasedAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ScriptBasedAuthenticatorFactory.java index 3f9f01c1b5..fec9f9b5a3 100644 --- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/ScriptBasedAuthenticatorFactory.java +++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/ScriptBasedAuthenticatorFactory.java @@ -141,7 +141,7 @@ public class ScriptBasedAuthenticatorFactory implements AuthenticatorFactory, En } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.SCRIPTS); } } diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/browser/WebAuthnAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/browser/WebAuthnAuthenticatorFactory.java index 94597fff3e..ee669b2cfe 100644 --- a/services/src/main/java/org/keycloak/authentication/authenticators/browser/WebAuthnAuthenticatorFactory.java +++ b/services/src/main/java/org/keycloak/authentication/authenticators/browser/WebAuthnAuthenticatorFactory.java @@ -95,7 +95,7 @@ public class WebAuthnAuthenticatorFactory implements AuthenticatorFactory, Envir } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.WEB_AUTHN); } } diff --git a/services/src/main/java/org/keycloak/authentication/authenticators/conditional/ConditionalLoaAuthenticatorFactory.java b/services/src/main/java/org/keycloak/authentication/authenticators/conditional/ConditionalLoaAuthenticatorFactory.java index bd90702564..f5cdac5d54 100644 --- a/services/src/main/java/org/keycloak/authentication/authenticators/conditional/ConditionalLoaAuthenticatorFactory.java +++ b/services/src/main/java/org/keycloak/authentication/authenticators/conditional/ConditionalLoaAuthenticatorFactory.java @@ -109,7 +109,7 @@ public class ConditionalLoaAuthenticatorFactory implements ConditionalAuthentica } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.STEP_UP_AUTHENTICATION); } } diff --git a/services/src/main/java/org/keycloak/authentication/requiredactions/RecoveryAuthnCodesAction.java b/services/src/main/java/org/keycloak/authentication/requiredactions/RecoveryAuthnCodesAction.java index 6d9abd563f..6143c73e99 100644 --- a/services/src/main/java/org/keycloak/authentication/requiredactions/RecoveryAuthnCodesAction.java +++ b/services/src/main/java/org/keycloak/authentication/requiredactions/RecoveryAuthnCodesAction.java @@ -120,7 +120,7 @@ public class RecoveryAuthnCodesAction implements RequiredActionProvider, Require } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.RECOVERY_CODES); } } diff --git a/services/src/main/java/org/keycloak/authentication/requiredactions/UpdateEmail.java b/services/src/main/java/org/keycloak/authentication/requiredactions/UpdateEmail.java index f884e6af0f..5aa3eb2666 100644 --- a/services/src/main/java/org/keycloak/authentication/requiredactions/UpdateEmail.java +++ b/services/src/main/java/org/keycloak/authentication/requiredactions/UpdateEmail.java @@ -200,7 +200,7 @@ public class UpdateEmail implements RequiredActionProvider, RequiredActionFactor } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.UPDATE_EMAIL); } } diff --git a/services/src/main/java/org/keycloak/authentication/requiredactions/WebAuthnRegisterFactory.java b/services/src/main/java/org/keycloak/authentication/requiredactions/WebAuthnRegisterFactory.java index 4b78db7991..8cac929d29 100644 --- a/services/src/main/java/org/keycloak/authentication/requiredactions/WebAuthnRegisterFactory.java +++ b/services/src/main/java/org/keycloak/authentication/requiredactions/WebAuthnRegisterFactory.java @@ -17,6 +17,7 @@ package org.keycloak.authentication.requiredactions; import com.webauthn4j.validator.attestation.trustworthiness.certpath.CertPathTrustworthinessValidator; +import org.keycloak.Config; import org.keycloak.Config.Scope; import org.keycloak.authentication.RequiredActionFactory; import org.keycloak.authentication.RequiredActionProvider; @@ -81,7 +82,7 @@ public class WebAuthnRegisterFactory implements RequiredActionFactory, Environme } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.WEB_AUTHN); } } diff --git a/services/src/main/java/org/keycloak/credential/RecoveryAuthnCodesCredentialProviderFactory.java b/services/src/main/java/org/keycloak/credential/RecoveryAuthnCodesCredentialProviderFactory.java index a101778ec6..5862be1226 100644 --- a/services/src/main/java/org/keycloak/credential/RecoveryAuthnCodesCredentialProviderFactory.java +++ b/services/src/main/java/org/keycloak/credential/RecoveryAuthnCodesCredentialProviderFactory.java @@ -4,7 +4,6 @@ import org.keycloak.Config; import org.keycloak.common.Profile; import org.keycloak.models.KeycloakSession; import org.keycloak.provider.EnvironmentDependentProviderFactory; -import org.keycloak.userprofile.DeclarativeUserProfileProvider; public class RecoveryAuthnCodesCredentialProviderFactory implements CredentialProviderFactory, EnvironmentDependentProviderFactory { @@ -22,7 +21,7 @@ public class RecoveryAuthnCodesCredentialProviderFactory } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.RECOVERY_CODES); } } diff --git a/services/src/main/java/org/keycloak/credential/WebAuthnCredentialProviderFactory.java b/services/src/main/java/org/keycloak/credential/WebAuthnCredentialProviderFactory.java index c473dc39f5..d8e4224d26 100644 --- a/services/src/main/java/org/keycloak/credential/WebAuthnCredentialProviderFactory.java +++ b/services/src/main/java/org/keycloak/credential/WebAuthnCredentialProviderFactory.java @@ -17,6 +17,7 @@ package org.keycloak.credential; import com.webauthn4j.converter.util.ObjectConverter; +import org.keycloak.Config; import org.keycloak.common.Profile; import org.keycloak.models.KeycloakSession; import org.keycloak.provider.EnvironmentDependentProviderFactory; @@ -49,7 +50,7 @@ public class WebAuthnCredentialProviderFactory implements CredentialProviderFact } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.WEB_AUTHN); } } diff --git a/services/src/main/java/org/keycloak/credential/WebAuthnPasswordlessCredentialProviderFactory.java b/services/src/main/java/org/keycloak/credential/WebAuthnPasswordlessCredentialProviderFactory.java index c10bedbd00..77433239d5 100644 --- a/services/src/main/java/org/keycloak/credential/WebAuthnPasswordlessCredentialProviderFactory.java +++ b/services/src/main/java/org/keycloak/credential/WebAuthnPasswordlessCredentialProviderFactory.java @@ -19,6 +19,7 @@ package org.keycloak.credential; import com.webauthn4j.converter.util.ObjectConverter; +import org.keycloak.Config; import org.keycloak.common.Profile; import org.keycloak.models.KeycloakSession; import org.keycloak.provider.EnvironmentDependentProviderFactory; @@ -54,7 +55,7 @@ public class WebAuthnPasswordlessCredentialProviderFactory implements Credential } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.WEB_AUTHN); } } diff --git a/services/src/main/java/org/keycloak/protocol/docker/DockerAuthV2ProtocolFactory.java b/services/src/main/java/org/keycloak/protocol/docker/DockerAuthV2ProtocolFactory.java index 2c59669a4d..84d1ca1534 100644 --- a/services/src/main/java/org/keycloak/protocol/docker/DockerAuthV2ProtocolFactory.java +++ b/services/src/main/java/org/keycloak/protocol/docker/DockerAuthV2ProtocolFactory.java @@ -1,5 +1,6 @@ package org.keycloak.protocol.docker; +import org.keycloak.Config; import org.keycloak.common.Profile; import org.keycloak.events.EventBuilder; import org.keycloak.models.ClientModel; @@ -70,7 +71,7 @@ public class DockerAuthV2ProtocolFactory extends AbstractLoginProtocolFactory im } @Override - public boolean isSupported() { + public boolean isSupported(Config.Scope config) { return Profile.isFeatureEnabled(Profile.Feature.DOCKER); } diff --git a/services/src/main/java/org/keycloak/protocol/oid4vc/issuance/signing/VCSigningServiceProviderFactory.java b/services/src/main/java/org/keycloak/protocol/oid4vc/issuance/signing/VCSigningServiceProviderFactory.java index edacabd0f2..bcbde00580 100644 --- a/services/src/main/java/org/keycloak/protocol/oid4vc/issuance/signing/VCSigningServiceProviderFactory.java +++ b/services/src/main/java/org/keycloak/protocol/oid4vc/issuance/signing/VCSigningServiceProviderFactory.java @@ -77,11 +77,6 @@ public interface VCSigningServiceProviderFactory extends ComponentFactory