diff --git a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/DevUiConfig.java b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/DevUiConfig.java index 8e6d9a99337fd..d39cb8bdfd471 100644 --- a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/DevUiConfig.java +++ b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/DevUiConfig.java @@ -71,6 +71,6 @@ public String getGrantType() { * Use this property to configure how long an HTTP client used by Dev UI handlers will wait for a response when requesting * tokens from OpenId Connect Provider and sending them to the service endpoint. */ - @ConfigItem - public Optional webClienTimeout; + @ConfigItem(defaultValue = "4S") + public Duration webClientTimeout; } diff --git a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/OidcDevConsoleProcessor.java b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/OidcDevConsoleProcessor.java index 90a3842c3568a..c0679b768a2ac 100644 --- a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/OidcDevConsoleProcessor.java +++ b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/OidcDevConsoleProcessor.java @@ -1,6 +1,5 @@ package io.quarkus.oidc.deployment.devservices; -import java.time.Duration; import java.util.Set; import org.eclipse.microprofile.config.ConfigProvider; @@ -104,12 +103,12 @@ public void run() { metadata != null ? metadata.getString("end_session_endpoint") : null, metadata != null ? metadata.containsKey("introspection_endpoint") : false); - Duration webClientTimeout = oidcConfig.devui.webClienTimeout.isPresent() ? oidcConfig.devui.webClienTimeout.get() - : Duration.ofSeconds(4); produceDevConsoleRouteItems(devConsoleRoute, - new OidcTestServiceHandler(vertxInstance, webClientTimeout), - new OidcAuthorizationCodePostHandler(vertxInstance, webClientTimeout, oidcConfig.devui.grantOptions), - new OidcPasswordClientCredHandler(vertxInstance, webClientTimeout, oidcConfig.devui.grantOptions)); + new OidcTestServiceHandler(vertxInstance, oidcConfig.devui.webClientTimeout), + new OidcAuthorizationCodePostHandler(vertxInstance, oidcConfig.devui.webClientTimeout, + oidcConfig.devui.grantOptions), + new OidcPasswordClientCredHandler(vertxInstance, oidcConfig.devui.webClientTimeout, + oidcConfig.devui.grantOptions)); } } diff --git a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/DevServicesConfig.java b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/DevServicesConfig.java index 6c34ae344bf45..95b04b6e07a96 100644 --- a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/DevServicesConfig.java +++ b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/DevServicesConfig.java @@ -1,6 +1,5 @@ package io.quarkus.oidc.deployment.devservices.keycloak; -import java.time.Duration; import java.util.List; import java.util.Map; import java.util.Objects; @@ -186,17 +185,6 @@ public String getGrantType() { @ConfigItem public OptionalInt port; - /** - * The WebClient timeout. - * Use this property to configure how long an HTTP client will wait for a response when requesting - * tokens from Keycloak and sending them to the service endpoint. - * - * @deprecated Use {@link DevUiConfig#webClienTimeout}. - */ - @ConfigItem(defaultValue = "4S") - @Deprecated - public Duration webClienTimeout; - @Override public boolean equals(Object o) { if (this == o) diff --git a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevConsoleProcessor.java b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevConsoleProcessor.java index 16de505724719..5047e5f2b8160 100644 --- a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevConsoleProcessor.java +++ b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevConsoleProcessor.java @@ -1,6 +1,5 @@ package io.quarkus.oidc.deployment.devservices.keycloak; -import java.time.Duration; import java.util.Map; import java.util.Optional; @@ -60,13 +59,13 @@ void invokeEndpoint(BuildProducer devConsoleRoute, if (configProps.isPresent() && configProps.get().getConfig().containsKey("keycloak.url")) { @SuppressWarnings("unchecked") Map users = (Map) configProps.get().getProperties().get("oidc.users"); - Duration webClientTimeout = oidcConfig.devui.webClienTimeout.isPresent() ? oidcConfig.devui.webClienTimeout.get() - : KeycloakDevServicesProcessor.capturedDevServicesConfiguration.webClienTimeout; produceDevConsoleRouteItems(devConsoleRoute, - new OidcTestServiceHandler(KeycloakDevServicesProcessor.vertxInstance, webClientTimeout), - new OidcAuthorizationCodePostHandler(KeycloakDevServicesProcessor.vertxInstance, webClientTimeout, + new OidcTestServiceHandler(KeycloakDevServicesProcessor.vertxInstance, oidcConfig.devui.webClientTimeout), + new OidcAuthorizationCodePostHandler(KeycloakDevServicesProcessor.vertxInstance, + oidcConfig.devui.webClientTimeout, oidcConfig.devui.grantOptions), - new OidcPasswordClientCredHandler(KeycloakDevServicesProcessor.vertxInstance, webClientTimeout, users, + new OidcPasswordClientCredHandler(KeycloakDevServicesProcessor.vertxInstance, + oidcConfig.devui.webClientTimeout, users, oidcConfig.devui.grantOptions)); } } diff --git a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevServicesProcessor.java b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevServicesProcessor.java index e98fb1c9acc88..b89cdc09474a4 100644 --- a/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevServicesProcessor.java +++ b/extensions/oidc/deployment/src/main/java/io/quarkus/oidc/deployment/devservices/keycloak/KeycloakDevServicesProcessor.java @@ -58,6 +58,7 @@ import io.quarkus.devservices.common.ContainerAddress; import io.quarkus.devservices.common.ContainerLocator; import io.quarkus.oidc.deployment.OidcBuildStep.IsEnabled; +import io.quarkus.oidc.deployment.OidcBuildTimeConfig; import io.quarkus.oidc.deployment.devservices.OidcDevServicesBuildItem; import io.quarkus.oidc.deployment.devservices.OidcDevServicesUtils; import io.quarkus.runtime.LaunchMode; @@ -124,6 +125,8 @@ public class KeycloakDevServicesProcessor { private static volatile boolean first = true; private static volatile FileTime capturedRealmFileLastModifiedDate; + OidcBuildTimeConfig oidcConfig; + @BuildStep(onlyIfNot = IsNormal.class, onlyIf = { IsEnabled.class, GlobalDevServicesConfig.Enabled.class }) public DevServicesResultBuildItem startKeycloakContainer( DockerStatusBuildItem dockerStatusBuildItem, @@ -544,13 +547,13 @@ private void createRealm(String keycloakUrl, RealmRepresentation realm) { try { String token = OidcDevServicesUtils.getPasswordAccessToken(client, keycloakUrl + "/realms/master/protocol/openid-connect/token", - "admin-cli", null, "admin", "admin", null, capturedDevServicesConfiguration.webClienTimeout); + "admin-cli", null, "admin", "admin", null, oidcConfig.devui.webClientTimeout); HttpResponse createRealmResponse = client.postAbs(keycloakUrl + "/admin/realms") .putHeader(HttpHeaders.CONTENT_TYPE.toString(), "application/json") .putHeader(HttpHeaders.AUTHORIZATION.toString(), "Bearer " + token) .sendBuffer(Buffer.buffer().appendString(JsonSerialization.writeValueAsString(realm))) - .await().atMost(capturedDevServicesConfiguration.webClienTimeout); + .await().atMost(oidcConfig.devui.webClientTimeout); if (createRealmResponse.statusCode() > 299) { LOG.errorf("Realm %s can not be created %d - %s ", realm.getRealm(), createRealmResponse.statusCode(),