This is an automated email from the ASF dual-hosted git repository. cdeppisch pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 3c7d425dd4b chore(knative): Improve Knative client OIDC options initializing 3c7d425dd4b is described below commit 3c7d425dd4bfcb2db24227e1c1d70afed08e9e33 Author: Christoph Deppisch <cdeppi...@redhat.com> AuthorDate: Mon Dec 16 11:22:15 2024 +0100 chore(knative): Improve Knative client OIDC options initializing - Make sure to add OIDC interceptor only when enabled (avoids errors due to interceptor also processing requests when OIDC is disabled) - Avoid initialization errors in OIDC client options class constructor hierarchy --- .../camel/component/knative/http/KnativeHttpProducer.java | 4 +++- .../camel/component/knative/http/KnativeOidcClientOptions.java | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpProducer.java b/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpProducer.java index 867f9b3c9b8..3df95d07854 100644 --- a/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpProducer.java +++ b/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpProducer.java @@ -173,7 +173,9 @@ public class KnativeHttpProducer extends DefaultAsyncProducer { this.client = WebClient.create(vertx, clientOptions); if (clientOptions instanceof KnativeOidcClientOptions oidcClientOptions) { - ((WebClientBase) this.client).addInterceptor(new KnativeOidcInterceptor(oidcClientOptions)); + if (oidcClientOptions.isOidcEnabled()) { + ((WebClientBase) this.client).addInterceptor(new KnativeOidcInterceptor(oidcClientOptions)); + } } } diff --git a/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java b/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java index cfcb4d22232..ebd278f6339 100644 --- a/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java +++ b/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeOidcClientOptions.java @@ -37,7 +37,7 @@ public class KnativeOidcClientOptions extends KnativeSslClientOptions { private static final String PROPERTY_PREFIX = "camel.knative.client.oidc."; - private final OAuth2WebClientOptions oAuth2ClientOptions = new OAuth2WebClientOptions().setRenewTokenOnForbidden(true); + private OAuth2WebClientOptions oAuth2ClientOptions; private boolean oidcEnabled; @@ -61,6 +61,10 @@ public class KnativeOidcClientOptions extends KnativeSslClientOptions { public void configureOptions(CamelContext camelContext) { super.configureOptions(camelContext); + if (oAuth2ClientOptions == null) { + oAuth2ClientOptions = new OAuth2WebClientOptions().setRenewTokenOnForbidden(true); + } + PropertiesComponent propertiesComponent = camelContext.getPropertiesComponent(); boolean oidcEnabled = Boolean.parseBoolean( @@ -140,6 +144,10 @@ public class KnativeOidcClientOptions extends KnativeSslClientOptions { return this.oAuth2ClientOptions.isRenewTokenOnForbidden(); } + public void setOAuth2ClientOptions(OAuth2WebClientOptions oAuth2ClientOptions) { + this.oAuth2ClientOptions = oAuth2ClientOptions; + } + public OAuth2WebClientOptions getOAuth2ClientOptions() { return oAuth2ClientOptions; }