You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2025/11/01 08:51:54 UTC

(camel) branch main updated: CAMEL-22645: camel-http: oauth2BodyAuthentication not being stipped out of URI. CAMEL-22643 add option to docs.

This is an automated email from the ASF dual-hosted git repository.

davsclaus 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 d0e63594d9e8 CAMEL-22645: camel-http: oauth2BodyAuthentication not being stipped out of URI. CAMEL-22643 add option to docs.
d0e63594d9e8 is described below

commit d0e63594d9e8f5e1972dc1049105ec38849983ee
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Nov 1 09:51:37 2025 +0100

    CAMEL-22645: camel-http: oauth2BodyAuthentication not being stipped out of URI. CAMEL-22643 add option to docs.
---
 .../org/apache/camel/catalog/components/http.json  | 21 +++++++--------
 .../org/apache/camel/catalog/components/https.json | 21 +++++++--------
 .../atmosphere/websocket/WebsocketEndpoint.java    |  3 ++-
 .../camel/http/common/HttpCommonEndpoint.java      | 20 ++++++++++++---
 .../camel/http/common/HttpConfiguration.java       | 11 ++++----
 .../component/http/HttpEndpointConfigurer.java     |  6 +++++
 .../component/http/HttpEndpointUriFactory.java     |  3 ++-
 .../org/apache/camel/component/http/http.json      | 21 +++++++--------
 .../org/apache/camel/component/http/https.json     | 21 +++++++--------
 .../endpoint/dsl/HttpEndpointBuilderFactory.java   | 30 ++++++++++++++++++++++
 10 files changed, 106 insertions(+), 51 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
index c55ecb28b33d..c2d8e9d276c0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/http.json
@@ -148,15 +148,16 @@
     "authMethod": { "index": 52, "kind": "parameter", "displayName": "Auth Method", "group": "security", "label": "producer,security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "Basic", "Bearer", "NTLM" ], "deprecated": false, "autowired": false, "secret": false, "description": "Authentication methods allowed to use as a comma separated list of values Basic, Bearer, or NTLM. (NTLM is deprecated)" },
     "authPassword": { "index": 53, "kind": "parameter", "displayName": "Auth Password", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Authentication password" },
     "authUsername": { "index": 54, "kind": "parameter", "displayName": "Auth Username", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Authentication username" },
-    "oauth2CachedTokensDefaultExpirySeconds": { "index": 55, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Default Expiry Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field." },
-    "oauth2CachedTokensExpirationMarginSeconds": { "index": 56, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Expiration Margin Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "description": "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token  [...]
-    "oauth2CacheTokens": { "index": 57, "kind": "parameter", "displayName": "Oauth2 Cache Tokens", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to cache OAuth2 client tokens." },
-    "oauth2ClientId": { "index": 58, "kind": "parameter", "displayName": "Oauth2 Client Id", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client id" },
-    "oauth2ClientSecret": { "index": 59, "kind": "parameter", "displayName": "Oauth2 Client Secret", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client secret" },
-    "oauth2ResourceIndicator": { "index": 60, "kind": "parameter", "displayName": "Oauth2 Resource Indicator", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Token endpoint" },
-    "oauth2Scope": { "index": 61, "kind": "parameter", "displayName": "Oauth2 Scope", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 scope" },
-    "oauth2TokenEndpoint": { "index": 62, "kind": "parameter", "displayName": "Oauth2 Token Endpoint", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Resource Indicator" },
-    "sslContextParameters": { "index": 63, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you [...]
-    "x509HostnameVerifier": { "index": 64, "kind": "parameter", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier" }
+    "oauth2BodyAuthentication": { "index": 55, "kind": "parameter", "displayName": "Oauth2 Body Authentication", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to use OAuth2 body authentication." },
+    "oauth2CachedTokensDefaultExpirySeconds": { "index": 56, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Default Expiry Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field." },
+    "oauth2CachedTokensExpirationMarginSeconds": { "index": 57, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Expiration Margin Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "description": "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token  [...]
+    "oauth2CacheTokens": { "index": 58, "kind": "parameter", "displayName": "Oauth2 Cache Tokens", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to cache OAuth2 client tokens." },
+    "oauth2ClientId": { "index": 59, "kind": "parameter", "displayName": "Oauth2 Client Id", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client id" },
+    "oauth2ClientSecret": { "index": 60, "kind": "parameter", "displayName": "Oauth2 Client Secret", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client secret" },
+    "oauth2ResourceIndicator": { "index": 61, "kind": "parameter", "displayName": "Oauth2 Resource Indicator", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Token endpoint" },
+    "oauth2Scope": { "index": 62, "kind": "parameter", "displayName": "Oauth2 Scope", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 scope" },
+    "oauth2TokenEndpoint": { "index": 63, "kind": "parameter", "displayName": "Oauth2 Token Endpoint", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Resource Indicator" },
+    "sslContextParameters": { "index": 64, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you [...]
+    "x509HostnameVerifier": { "index": 65, "kind": "parameter", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier" }
   }
 }
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
index 3b2bf9b52eea..a423cb9eb845 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/https.json
@@ -148,15 +148,16 @@
     "authMethod": { "index": 52, "kind": "parameter", "displayName": "Auth Method", "group": "security", "label": "producer,security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "Basic", "Bearer", "NTLM" ], "deprecated": false, "autowired": false, "secret": false, "description": "Authentication methods allowed to use as a comma separated list of values Basic, Bearer, or NTLM. (NTLM is deprecated)" },
     "authPassword": { "index": 53, "kind": "parameter", "displayName": "Auth Password", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Authentication password" },
     "authUsername": { "index": 54, "kind": "parameter", "displayName": "Auth Username", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Authentication username" },
-    "oauth2CachedTokensDefaultExpirySeconds": { "index": 55, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Default Expiry Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field." },
-    "oauth2CachedTokensExpirationMarginSeconds": { "index": 56, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Expiration Margin Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "description": "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token  [...]
-    "oauth2CacheTokens": { "index": 57, "kind": "parameter", "displayName": "Oauth2 Cache Tokens", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to cache OAuth2 client tokens." },
-    "oauth2ClientId": { "index": 58, "kind": "parameter", "displayName": "Oauth2 Client Id", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client id" },
-    "oauth2ClientSecret": { "index": 59, "kind": "parameter", "displayName": "Oauth2 Client Secret", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client secret" },
-    "oauth2ResourceIndicator": { "index": 60, "kind": "parameter", "displayName": "Oauth2 Resource Indicator", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Token endpoint" },
-    "oauth2Scope": { "index": 61, "kind": "parameter", "displayName": "Oauth2 Scope", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 scope" },
-    "oauth2TokenEndpoint": { "index": 62, "kind": "parameter", "displayName": "Oauth2 Token Endpoint", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Resource Indicator" },
-    "sslContextParameters": { "index": 63, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you [...]
-    "x509HostnameVerifier": { "index": 64, "kind": "parameter", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier" }
+    "oauth2BodyAuthentication": { "index": 55, "kind": "parameter", "displayName": "Oauth2 Body Authentication", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to use OAuth2 body authentication." },
+    "oauth2CachedTokensDefaultExpirySeconds": { "index": 56, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Default Expiry Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field." },
+    "oauth2CachedTokensExpirationMarginSeconds": { "index": 57, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Expiration Margin Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "description": "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token  [...]
+    "oauth2CacheTokens": { "index": 58, "kind": "parameter", "displayName": "Oauth2 Cache Tokens", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to cache OAuth2 client tokens." },
+    "oauth2ClientId": { "index": 59, "kind": "parameter", "displayName": "Oauth2 Client Id", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client id" },
+    "oauth2ClientSecret": { "index": 60, "kind": "parameter", "displayName": "Oauth2 Client Secret", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client secret" },
+    "oauth2ResourceIndicator": { "index": 61, "kind": "parameter", "displayName": "Oauth2 Resource Indicator", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Token endpoint" },
+    "oauth2Scope": { "index": 62, "kind": "parameter", "displayName": "Oauth2 Scope", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 scope" },
+    "oauth2TokenEndpoint": { "index": 63, "kind": "parameter", "displayName": "Oauth2 Token Endpoint", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Resource Indicator" },
+    "sslContextParameters": { "index": 64, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you [...]
+    "x509HostnameVerifier": { "index": 65, "kind": "parameter", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier" }
   }
 }
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
index c955833e8c93..30e0b00d17a0 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
@@ -41,7 +41,8 @@ import org.apache.camel.util.StringHelper;
                               + "copyHeaders,httpMethod,ignoreResponseBody,preserveHostHeader,throwExceptionOnFailure,okStatusCodeRange,"
                               + "proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain,"
                               + "proxyAuthNtHost,proxyAuthScheme,proxyHost,proxyPort,"
-                              + "oauth2ClientId,oauth2ClientSecret,oauth2TokenEndpoint,oauth2Scope,oauth2CacheTokens,oauth2CachedTokensDefaultExpirySeconds,oauth2CachedTokensExpirationMarginSeconds,oauth2ResourceIndicator",
+                              + "oauth2ClientId,oauth2ClientSecret,oauth2TokenEndpoint,oauth2Scope,oauth2CacheTokens,oauth2CachedTokensDefaultExpirySeconds,"
+                              + "oauth2CachedTokensExpirationMarginSeconds,oauth2ResourceIndicator,oauth2BodyAuthentication",
           annotations = {
                   "protocol=http",
           })
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
index a3ec144e9ef4..d3b0454a1ea1 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonEndpoint.java
@@ -161,8 +161,8 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint
     private String oauth2TokenEndpoint;
     @UriParam(label = "producer,security", description = "OAuth2 scope")
     private String oauth2Scope;
-    @UriParam(label = "producer,security", defaultValue = "false", description = "Whether to cache OAuth2 client tokens.")
-    private boolean oauth2CacheTokens = false;
+    @UriParam(label = "producer,security", description = "Whether to cache OAuth2 client tokens.")
+    private boolean oauth2CacheTokens;
     @UriParam(label = "producer,security", defaultValue = "3600",
               description = "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field.")
     private long oauth2CachedTokensDefaultExpirySeconds = 3600L;
@@ -172,7 +172,10 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint
                             "Set this parameter to high value if you OAuth2 Token Endpoint answers slowly or you tokens expire quickly. "
                             +
                             "If you set this parameter to too small value, you can get 4xx http errors because camel will think that the received token is still valid, while in reality the token is expired for the Authentication server.")
-    private long oauth2CachedTokensExpirationMarginSeconds = 5L;
+    private long oauth2CachedTokensExpirationMarginSeconds = 5;
+    @UriParam(label = "producer,security",
+              description = "Whether to use OAuth2 body authentication.")
+    private boolean oauth2BodyAuthentication;
     @Deprecated
     @UriParam(label = "producer,security", description = "Authentication domain to use with NTLM")
     private String authDomain;
@@ -912,4 +915,15 @@ public abstract class HttpCommonEndpoint extends DefaultEndpoint
     public void setOauth2CachedTokensExpirationMarginSeconds(long cachedTokensExpirationMarginSeconds) {
         this.oauth2CachedTokensExpirationMarginSeconds = cachedTokensExpirationMarginSeconds;
     }
+
+    public boolean isOauth2BodyAuthentication() {
+        return oauth2BodyAuthentication;
+    }
+
+    /**
+     * Whether to use OAuth2 body authentication.
+     */
+    public void setOauth2BodyAuthentication(boolean oauth2BodyAuthentication) {
+        this.oauth2BodyAuthentication = oauth2BodyAuthentication;
+    }
 }
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConfiguration.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConfiguration.java
index e12a60b74bad..85325a126567 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConfiguration.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConfiguration.java
@@ -19,7 +19,6 @@ package org.apache.camel.http.common;
 import java.io.Serializable;
 
 import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriParam;
 
 public class HttpConfiguration implements Serializable {
     private static final long serialVersionUID = 1L;
@@ -43,20 +42,20 @@ public class HttpConfiguration implements Serializable {
     private String oauth2Scope;
     @Metadata(label = "producer,security", description = "OAuth2 Resource Indicator")
     private String oauth2ResourceIndicator;
-    @UriParam(label = "producer,security", defaultValue = "false",
+    @Metadata(label = "producer,security",
               description = "Whether to cache OAuth2 client tokens.")
     private boolean oauth2CacheTokens;
-    @UriParam(label = "producer,security", defaultValue = "3600",
+    @Metadata(label = "producer,security", defaultValue = "3600",
               description = "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field.")
     private long oauth2CachedTokensDefaultExpirySeconds = 3600L;
-    @UriParam(label = "producer,security", defaultValue = "5",
+    @Metadata(label = "producer,security", defaultValue = "5",
               description = "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token over http, in seconds. "
                             +
                             "Set this parameter to high value if you OAuth2 Token Endpoint answers slowly or you tokens expire quickly. "
                             +
                             "If you set this parameter to too small value, you can get 4xx http errors because camel will think that the received token is still valid, while in reality the token is expired for the Authentication server.")
-    private long oauth2CachedTokensExpirationMarginSeconds = 5L;
-    @UriParam(label = "producer,security", defaultValue = "false",
+    private long oauth2CachedTokensExpirationMarginSeconds = 5;
+    @Metadata(label = "producer,security",
               description = "Whether to use OAuth2 body authentication.")
     private boolean oauth2BodyAuthentication;
     @Metadata(label = "producer,security", description = "Authentication domain to use with NTLM")
diff --git a/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointConfigurer.java b/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointConfigurer.java
index d2daadc9d991..d909c3c4e8b0 100644
--- a/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointConfigurer.java
+++ b/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointConfigurer.java
@@ -95,6 +95,8 @@ public class HttpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "multipartUpload": target.setMultipartUpload(property(camelContext, boolean.class, value)); return true;
         case "multipartuploadname":
         case "multipartUploadName": target.setMultipartUploadName(property(camelContext, java.lang.String.class, value)); return true;
+        case "oauth2bodyauthentication":
+        case "oauth2BodyAuthentication": target.setOauth2BodyAuthentication(property(camelContext, boolean.class, value)); return true;
         case "oauth2cachetokens":
         case "oauth2CacheTokens": target.setOauth2CacheTokens(property(camelContext, boolean.class, value)); return true;
         case "oauth2cachedtokensdefaultexpiryseconds":
@@ -230,6 +232,8 @@ public class HttpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "multipartUpload": return boolean.class;
         case "multipartuploadname":
         case "multipartUploadName": return java.lang.String.class;
+        case "oauth2bodyauthentication":
+        case "oauth2BodyAuthentication": return boolean.class;
         case "oauth2cachetokens":
         case "oauth2CacheTokens": return boolean.class;
         case "oauth2cachedtokensdefaultexpiryseconds":
@@ -366,6 +370,8 @@ public class HttpEndpointConfigurer extends PropertyConfigurerSupport implements
         case "multipartUpload": return target.isMultipartUpload();
         case "multipartuploadname":
         case "multipartUploadName": return target.getMultipartUploadName();
+        case "oauth2bodyauthentication":
+        case "oauth2BodyAuthentication": return target.isOauth2BodyAuthentication();
         case "oauth2cachetokens":
         case "oauth2CacheTokens": return target.isOauth2CacheTokens();
         case "oauth2cachedtokensdefaultexpiryseconds":
diff --git a/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointUriFactory.java b/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointUriFactory.java
index e01d2358d98d..cce25f8b6bb3 100644
--- a/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointUriFactory.java
+++ b/components/camel-http/src/generated/java/org/apache/camel/component/http/HttpEndpointUriFactory.java
@@ -24,7 +24,7 @@ public class HttpEndpointUriFactory extends org.apache.camel.support.component.E
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Map<String, String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(65);
+        Set<String> props = new HashSet<>(66);
         props.add("authBearerToken");
         props.add("authDomain");
         props.add("authHost");
@@ -62,6 +62,7 @@ public class HttpEndpointUriFactory extends org.apache.camel.support.component.E
         props.add("maxTotalConnections");
         props.add("multipartUpload");
         props.add("multipartUploadName");
+        props.add("oauth2BodyAuthentication");
         props.add("oauth2CacheTokens");
         props.add("oauth2CachedTokensDefaultExpirySeconds");
         props.add("oauth2CachedTokensExpirationMarginSeconds");
diff --git a/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/http.json b/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/http.json
index c55ecb28b33d..c2d8e9d276c0 100644
--- a/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/http.json
+++ b/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/http.json
@@ -148,15 +148,16 @@
     "authMethod": { "index": 52, "kind": "parameter", "displayName": "Auth Method", "group": "security", "label": "producer,security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "Basic", "Bearer", "NTLM" ], "deprecated": false, "autowired": false, "secret": false, "description": "Authentication methods allowed to use as a comma separated list of values Basic, Bearer, or NTLM. (NTLM is deprecated)" },
     "authPassword": { "index": 53, "kind": "parameter", "displayName": "Auth Password", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Authentication password" },
     "authUsername": { "index": 54, "kind": "parameter", "displayName": "Auth Username", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Authentication username" },
-    "oauth2CachedTokensDefaultExpirySeconds": { "index": 55, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Default Expiry Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field." },
-    "oauth2CachedTokensExpirationMarginSeconds": { "index": 56, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Expiration Margin Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "description": "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token  [...]
-    "oauth2CacheTokens": { "index": 57, "kind": "parameter", "displayName": "Oauth2 Cache Tokens", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to cache OAuth2 client tokens." },
-    "oauth2ClientId": { "index": 58, "kind": "parameter", "displayName": "Oauth2 Client Id", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client id" },
-    "oauth2ClientSecret": { "index": 59, "kind": "parameter", "displayName": "Oauth2 Client Secret", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client secret" },
-    "oauth2ResourceIndicator": { "index": 60, "kind": "parameter", "displayName": "Oauth2 Resource Indicator", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Token endpoint" },
-    "oauth2Scope": { "index": 61, "kind": "parameter", "displayName": "Oauth2 Scope", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 scope" },
-    "oauth2TokenEndpoint": { "index": 62, "kind": "parameter", "displayName": "Oauth2 Token Endpoint", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Resource Indicator" },
-    "sslContextParameters": { "index": 63, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you [...]
-    "x509HostnameVerifier": { "index": 64, "kind": "parameter", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier" }
+    "oauth2BodyAuthentication": { "index": 55, "kind": "parameter", "displayName": "Oauth2 Body Authentication", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to use OAuth2 body authentication." },
+    "oauth2CachedTokensDefaultExpirySeconds": { "index": 56, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Default Expiry Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field." },
+    "oauth2CachedTokensExpirationMarginSeconds": { "index": 57, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Expiration Margin Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "description": "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token  [...]
+    "oauth2CacheTokens": { "index": 58, "kind": "parameter", "displayName": "Oauth2 Cache Tokens", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to cache OAuth2 client tokens." },
+    "oauth2ClientId": { "index": 59, "kind": "parameter", "displayName": "Oauth2 Client Id", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client id" },
+    "oauth2ClientSecret": { "index": 60, "kind": "parameter", "displayName": "Oauth2 Client Secret", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client secret" },
+    "oauth2ResourceIndicator": { "index": 61, "kind": "parameter", "displayName": "Oauth2 Resource Indicator", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Token endpoint" },
+    "oauth2Scope": { "index": 62, "kind": "parameter", "displayName": "Oauth2 Scope", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 scope" },
+    "oauth2TokenEndpoint": { "index": 63, "kind": "parameter", "displayName": "Oauth2 Token Endpoint", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Resource Indicator" },
+    "sslContextParameters": { "index": 64, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you [...]
+    "x509HostnameVerifier": { "index": 65, "kind": "parameter", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier" }
   }
 }
diff --git a/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/https.json b/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/https.json
index 3b2bf9b52eea..a423cb9eb845 100644
--- a/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/https.json
+++ b/components/camel-http/src/generated/resources/META-INF/org/apache/camel/component/http/https.json
@@ -148,15 +148,16 @@
     "authMethod": { "index": 52, "kind": "parameter", "displayName": "Auth Method", "group": "security", "label": "producer,security", "required": false, "type": "enum", "javaType": "java.lang.String", "enum": [ "Basic", "Bearer", "NTLM" ], "deprecated": false, "autowired": false, "secret": false, "description": "Authentication methods allowed to use as a comma separated list of values Basic, Bearer, or NTLM. (NTLM is deprecated)" },
     "authPassword": { "index": 53, "kind": "parameter", "displayName": "Auth Password", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Authentication password" },
     "authUsername": { "index": 54, "kind": "parameter", "displayName": "Auth Username", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Authentication username" },
-    "oauth2CachedTokensDefaultExpirySeconds": { "index": 55, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Default Expiry Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field." },
-    "oauth2CachedTokensExpirationMarginSeconds": { "index": 56, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Expiration Margin Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "description": "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token  [...]
-    "oauth2CacheTokens": { "index": 57, "kind": "parameter", "displayName": "Oauth2 Cache Tokens", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to cache OAuth2 client tokens." },
-    "oauth2ClientId": { "index": 58, "kind": "parameter", "displayName": "Oauth2 Client Id", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client id" },
-    "oauth2ClientSecret": { "index": 59, "kind": "parameter", "displayName": "Oauth2 Client Secret", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client secret" },
-    "oauth2ResourceIndicator": { "index": 60, "kind": "parameter", "displayName": "Oauth2 Resource Indicator", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Token endpoint" },
-    "oauth2Scope": { "index": 61, "kind": "parameter", "displayName": "Oauth2 Scope", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 scope" },
-    "oauth2TokenEndpoint": { "index": 62, "kind": "parameter", "displayName": "Oauth2 Token Endpoint", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Resource Indicator" },
-    "sslContextParameters": { "index": 63, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you [...]
-    "x509HostnameVerifier": { "index": 64, "kind": "parameter", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier" }
+    "oauth2BodyAuthentication": { "index": 55, "kind": "parameter", "displayName": "Oauth2 Body Authentication", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to use OAuth2 body authentication." },
+    "oauth2CachedTokensDefaultExpirySeconds": { "index": 56, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Default Expiry Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 3600, "description": "Default expiration time for cached OAuth2 tokens, in seconds. Used if token response does not contain 'expires_in' field." },
+    "oauth2CachedTokensExpirationMarginSeconds": { "index": 57, "kind": "parameter", "displayName": "Oauth2 Cached Tokens Expiration Margin Seconds", "group": "security", "label": "producer,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "description": "Amount of time which is deducted from OAuth2 tokens expiry time to compensate for the time it takes OAuth2 Token Endpoint to send the token  [...]
+    "oauth2CacheTokens": { "index": 58, "kind": "parameter", "displayName": "Oauth2 Cache Tokens", "group": "security", "label": "producer,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether to cache OAuth2 client tokens." },
+    "oauth2ClientId": { "index": 59, "kind": "parameter", "displayName": "Oauth2 Client Id", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client id" },
+    "oauth2ClientSecret": { "index": 60, "kind": "parameter", "displayName": "Oauth2 Client Secret", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth2 client secret" },
+    "oauth2ResourceIndicator": { "index": 61, "kind": "parameter", "displayName": "Oauth2 Resource Indicator", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Token endpoint" },
+    "oauth2Scope": { "index": 62, "kind": "parameter", "displayName": "Oauth2 Scope", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 scope" },
+    "oauth2TokenEndpoint": { "index": 63, "kind": "parameter", "displayName": "Oauth2 Token Endpoint", "group": "security", "label": "producer,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth2 Resource Indicator" },
+    "sslContextParameters": { "index": 64, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters. Important: Only one instance of org.apache.camel.util.jsse.SSLContextParameters is supported per HttpComponent. If you [...]
+    "x509HostnameVerifier": { "index": 65, "kind": "parameter", "displayName": "X509 Hostname Verifier", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom X509HostnameVerifier such as DefaultHostnameVerifier or NoopHostnameVerifier" }
   }
 }
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
index 753a6e7e306a..61784164e494 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/HttpEndpointBuilderFactory.java
@@ -719,6 +719,36 @@ public interface HttpEndpointBuilderFactory {
             doSetProperty("authUsername", authUsername);
             return this;
         }
+        /**
+         * Whether to use OAuth2 body authentication.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param oauth2BodyAuthentication the value to set
+         * @return the dsl builder
+         */
+        default HttpEndpointBuilder oauth2BodyAuthentication(boolean oauth2BodyAuthentication) {
+            doSetProperty("oauth2BodyAuthentication", oauth2BodyAuthentication);
+            return this;
+        }
+        /**
+         * Whether to use OAuth2 body authentication.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: security
+         * 
+         * @param oauth2BodyAuthentication the value to set
+         * @return the dsl builder
+         */
+        default HttpEndpointBuilder oauth2BodyAuthentication(String oauth2BodyAuthentication) {
+            doSetProperty("oauth2BodyAuthentication", oauth2BodyAuthentication);
+            return this;
+        }
         /**
          * Default expiration time for cached OAuth2 tokens, in seconds. Used if
          * token response does not contain 'expires_in' field.