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.cli.command.AbstractNonServerCommand;
|
||||||
import org.keycloak.quarkus.runtime.configuration.Configuration;
|
import org.keycloak.quarkus.runtime.configuration.Configuration;
|
||||||
import org.keycloak.quarkus.runtime.configuration.MicroProfileConfigProvider;
|
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.QuarkusKeycloakSessionFactory;
|
||||||
import org.keycloak.quarkus.runtime.integration.QuarkusPlatform;
|
import org.keycloak.quarkus.runtime.integration.QuarkusPlatform;
|
||||||
import org.keycloak.services.ServicesLogger;
|
import org.keycloak.services.ServicesLogger;
|
||||||
|
@ -95,6 +95,8 @@ public class QuarkusKeycloakApplication extends KeycloakApplication {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getOption(String option, String envVar) {
|
private String getOption(String option, String envVar) {
|
||||||
|
PropertyMappingInterceptor.disable(); // disable default handling
|
||||||
|
try {
|
||||||
return Configuration.getOptionalKcValue(option).orElseGet(() -> {
|
return Configuration.getOptionalKcValue(option).orElseGet(() -> {
|
||||||
String value = System.getenv(envVar);
|
String value = System.getenv(envVar);
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
|
@ -102,6 +104,9 @@ public class QuarkusKeycloakApplication extends KeycloakApplication {
|
||||||
}
|
}
|
||||||
return value;
|
return value;
|
||||||
});
|
});
|
||||||
|
} finally {
|
||||||
|
PropertyMappingInterceptor.enable();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean createTemporaryMasterRealmAdminUser(String adminUserName, String adminPassword, /*Integer adminExpiration,*/ KeycloakSession session) {
|
public boolean createTemporaryMasterRealmAdminUser(String adminUserName, String adminPassword, /*Integer adminExpiration,*/ KeycloakSession session) {
|
||||||
|
|
|
@ -68,6 +68,13 @@ public class BuildAndStartDistTest {
|
||||||
cliResult.assertStarted();
|
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
|
@Test
|
||||||
@WithEnvVars({"KC_BOOTSTRAP_ADMIN_USERNAME", "admin123", "KC_BOOTSTRAP_ADMIN_PASSWORD", "admin123"})
|
@WithEnvVars({"KC_BOOTSTRAP_ADMIN_USERNAME", "admin123", "KC_BOOTSTRAP_ADMIN_PASSWORD", "admin123"})
|
||||||
@Launch({"start-dev"})
|
@Launch({"start-dev"})
|
||||||
|
|
Loading…
Reference in a new issue