fix: ensure the legacy admin username env can still be used (#32341)
closes: #32333 Signed-off-by: Steve Hawkins <shawkins@redhat.com>
This commit is contained in:
parent
04d2126c73
commit
c18a79bfe7
2 changed files with 20 additions and 8 deletions
|
@ -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) {
|
||||
|
|
|
@ -68,6 +68,13 @@ public class BuildAndStartDistTest {
|
|||
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"})
|
||||
@Launch({"start-dev"})
|
||||
|
|
Loading…
Reference in a new issue