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;
     }

Reply via email to