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