diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/integration/jaxrs/QuarkusKeycloakApplication.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/integration/jaxrs/QuarkusKeycloakApplication.java index 848f7ace97..b3ca099659 100644 --- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/integration/jaxrs/QuarkusKeycloakApplication.java +++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/integration/jaxrs/QuarkusKeycloakApplication.java @@ -25,7 +25,7 @@ import org.keycloak.quarkus.runtime.Environment; import org.keycloak.quarkus.runtime.cli.command.AbstractNonServerCommand; import org.keycloak.quarkus.runtime.configuration.Configuration; import org.keycloak.quarkus.runtime.configuration.MicroProfileConfigProvider; -import org.keycloak.quarkus.runtime.configuration.mappers.PropertyMapper; +import org.keycloak.quarkus.runtime.configuration.PropertyMappingInterceptor; import org.keycloak.quarkus.runtime.integration.QuarkusKeycloakSessionFactory; import org.keycloak.quarkus.runtime.integration.QuarkusPlatform; import org.keycloak.services.ServicesLogger; @@ -95,13 +95,18 @@ public class QuarkusKeycloakApplication extends KeycloakApplication { } private String getOption(String option, String envVar) { - return Configuration.getOptionalKcValue(option).orElseGet(() -> { - String value = System.getenv(envVar); - if (value != null) { - ServicesLogger.LOGGER.usingDeprecatedEnvironmentVariable(envVar, Configuration.toEnvVarFormat(MicroProfileConfigProvider.NS_KEYCLOAK_PREFIX + option)); - } - return value; - }); + PropertyMappingInterceptor.disable(); // disable default handling + try { + return Configuration.getOptionalKcValue(option).orElseGet(() -> { + String value = System.getenv(envVar); + if (value != null) { + ServicesLogger.LOGGER.usingDeprecatedEnvironmentVariable(envVar, Configuration.toEnvVarFormat(MicroProfileConfigProvider.NS_KEYCLOAK_PREFIX + option)); + } + return value; + }); + } finally { + PropertyMappingInterceptor.enable(); + } } public boolean createTemporaryMasterRealmAdminUser(String adminUserName, String adminPassword, /*Integer adminExpiration,*/ KeycloakSession session) { diff --git a/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/BuildAndStartDistTest.java b/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/BuildAndStartDistTest.java index 831dc28a7c..552ae5d677 100644 --- a/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/BuildAndStartDistTest.java +++ b/quarkus/tests/integration/src/test/java/org/keycloak/it/cli/dist/BuildAndStartDistTest.java @@ -67,6 +67,13 @@ public class BuildAndStartDistTest { cliResult.assertBuild(); cliResult.assertStarted(); } + + @Test + @WithEnvVars({"KEYCLOAK_ADMIN", "oldadmin123", "KEYCLOAK_ADMIN_PASSWORD", "oldadmin123"}) + @Launch({"start-dev"}) + void testCreateLegacyAdmin(KeycloakDistribution dist, LaunchResult result) { + assertAdminCreation(dist, result, "oldadmin123", "oldadmin123", "oldadmin123"); + } @Test @WithEnvVars({"KC_BOOTSTRAP_ADMIN_USERNAME", "admin123", "KC_BOOTSTRAP_ADMIN_PASSWORD", "admin123"})