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 2497f146e7f CAMEL-22075: camel-http: Add support for bearer token auth
2497f146e7f is described below

commit 2497f146e7fbfcd125cdf66ba235f0b4fe81dbc0
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri May 16 14:08:35 2025 +0200

    CAMEL-22075: camel-http: Add support for bearer token auth
---
 .../catalog/components/atmosphere-websocket.json   |  3 +-
 .../org/apache/camel/catalog/components/http.json  | 33 +++++++++++-----------
 .../org/apache/camel/catalog/components/https.json | 33 +++++++++++-----------
 .../websocket/WebsocketEndpointConfigurer.java     |  6 ++++
 .../websocket/WebsocketEndpointUriFactory.java     |  7 +++--
 .../atmosphere/websocket/atmosphere-websocket.json |  3 +-
 .../camel/http/common/HttpCommonEndpoint.java      | 21 +++++++++++---
 .../camel/http/common/HttpConfiguration.java       | 27 +++++++++++++-----
 .../component/http/HttpEndpointConfigurer.java     |  6 ++++
 .../component/http/HttpEndpointUriFactory.java     |  6 ++--
 .../org/apache/camel/component/http/http.json      | 33 +++++++++++-----------
 .../org/apache/camel/component/http/https.json     | 33 +++++++++++-----------
 .../BasicAuthenticationHttpClientConfigurer.java   |  7 ++++-
 .../apache/camel/component/http/HttpComponent.java |  8 ++++--
 .../AtmosphereWebsocketEndpointBuilderFactory.java | 14 +++++++++
 .../endpoint/dsl/HttpEndpointBuilderFactory.java   | 18 ++++++++++--
 16 files changed, 171 insertions(+), 87 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atmosphere-websocket.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atmosphere-websocket.json
index d47413d1c7b..cae97eec4bc 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atmosphere-websocket.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/atmosphere-websocket.json
@@ -72,6 +72,7 @@
     "optionsEnabled": { "index": 24, "kind": "parameter", "displayName": 
"Options Enabled", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Specifies whether to enable HTTP OPTIONS 
for this Servlet consumer. By default OPTIONS is turned off." },
     "traceEnabled": { "index": 25, "kind": "parameter", "displayName": "Trace 
Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Specifies whether to enable HTTP TRACE for this Servlet 
consumer. By default TRACE is turned off." },
     "bridgeEndpoint": { "index": 26, "kind": "parameter", "displayName": 
"Bridge Endpoint", "group": "producer", "label": "producer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "If the option is 
true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the 
endpoint's URI for request. You may also set the option throwExceptionOnFailure 
to be false to let the HttpPro [...]
-    "lazyStartProducer": { "index": 27, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "lazyStartProducer": { "index": 27, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "authBearerToken": { "index": 28, "kind": "parameter", "displayName": 
"Auth Bearer Token", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": true, "description": 
"Authentication bearer token" }
   }
 }
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 2a4625e4ef1..0c68d9a4c50 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
@@ -135,21 +135,22 @@
     "proxyAuthUsername": { "index": 43, "kind": "parameter", "displayName": 
"Proxy Auth Username", "group": "proxy", "label": "producer,proxy", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "description": "Proxy authentication 
username" },
     "proxyHost": { "index": 44, "kind": "parameter", "displayName": "Proxy 
Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Proxy hostname to use" },
     "proxyPort": { "index": 45, "kind": "parameter", "displayName": "Proxy 
Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "description": "Proxy port to use" },
-    "authDomain": { "index": 46, "kind": "parameter", "displayName": "Auth 
Domain", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication domain to 
use with NTML" },
-    "authenticationPreemptive": { "index": 47, "kind": "parameter", 
"displayName": "Authentication Preemptive", "group": "security", "label": 
"producer,security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If this option is true, camel-http sends 
preemptive basic authentication to the server." },
-    "authHost": { "index": 48, "kind": "parameter", "displayName": "Auth 
Host", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication host to use 
with NTML" },
-    "authMethod": { "index": 49, "kind": "parameter", "displayName": "Auth 
Method", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Authentication methods 
allowed to use as a comma separated list of values Basic, Digest or NTLM. (NTLM 
is deprecated)" },
-    "authMethodPriority": { "index": 50, "kind": "parameter", "displayName": 
"Auth Method Priority", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", "enum": [ 
"Basic", "Digest", "NTLM" ], "deprecated": false, "autowired": false, "secret": 
false, "description": "Which authentication method to prioritize to use, either 
as Basic, Digest or NTLM. (NTLM is deprecated)" },
-    "authPassword": { "index": 51, "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": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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" },
-    "oauth2Scope": { "index": 58, "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": 59, "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 Token endpoint" },
-    "sslContextParameters": { "index": 60, "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": 61, "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" }
+    "authBearerToken": { "index": 46, "kind": "parameter", "displayName": 
"Auth Bearer Token", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": true, "description": 
"Authentication bearer token" },
+    "authDomain": { "index": 47, "kind": "parameter", "displayName": "Auth 
Domain", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication domain to 
use with NTML" },
+    "authenticationPreemptive": { "index": 48, "kind": "parameter", 
"displayName": "Authentication Preemptive", "group": "security", "label": 
"producer,security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If this option is true, camel-http sends 
preemptive basic authentication to the server." },
+    "authHost": { "index": 49, "kind": "parameter", "displayName": "Auth 
Host", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication host to use 
with NTML" },
+    "authMethod": { "index": 50, "kind": "parameter", "displayName": "Auth 
Method", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Bearer", 
"Digest", "NTLM" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Authentication methods allowed to use as a comma separated list 
of values Basic, Bearer, Digest or NTLM. (NTLM is deprecated)" },
+    "authMethodPriority": { "index": 51, "kind": "parameter", "displayName": 
"Auth Method Priority", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", "enum": [ 
"Basic", "Bearer", "Digest", "NTLM" ], "deprecated": false, "autowired": false, 
"secret": false, "description": "Which authentication method to prioritize to 
use, either as Basic, Bearer, Digest or NTLM. (NTLM is deprecated)" },
+    "authPassword": { "index": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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": 58, "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" },
+    "oauth2Scope": { "index": 59, "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": 60, "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 Token endpoint" },
+    "sslContextParameters": { "index": 61, "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": 62, "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 1b28a1bbea1..60b5e229cc2 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
@@ -135,21 +135,22 @@
     "proxyAuthUsername": { "index": 43, "kind": "parameter", "displayName": 
"Proxy Auth Username", "group": "proxy", "label": "producer,proxy", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "description": "Proxy authentication 
username" },
     "proxyHost": { "index": 44, "kind": "parameter", "displayName": "Proxy 
Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Proxy hostname to use" },
     "proxyPort": { "index": 45, "kind": "parameter", "displayName": "Proxy 
Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "description": "Proxy port to use" },
-    "authDomain": { "index": 46, "kind": "parameter", "displayName": "Auth 
Domain", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication domain to 
use with NTML" },
-    "authenticationPreemptive": { "index": 47, "kind": "parameter", 
"displayName": "Authentication Preemptive", "group": "security", "label": 
"producer,security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If this option is true, camel-http sends 
preemptive basic authentication to the server." },
-    "authHost": { "index": 48, "kind": "parameter", "displayName": "Auth 
Host", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication host to use 
with NTML" },
-    "authMethod": { "index": 49, "kind": "parameter", "displayName": "Auth 
Method", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Authentication methods 
allowed to use as a comma separated list of values Basic, Digest or NTLM. (NTLM 
is deprecated)" },
-    "authMethodPriority": { "index": 50, "kind": "parameter", "displayName": 
"Auth Method Priority", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", "enum": [ 
"Basic", "Digest", "NTLM" ], "deprecated": false, "autowired": false, "secret": 
false, "description": "Which authentication method to prioritize to use, either 
as Basic, Digest or NTLM. (NTLM is deprecated)" },
-    "authPassword": { "index": 51, "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": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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" },
-    "oauth2Scope": { "index": 58, "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": 59, "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 Token endpoint" },
-    "sslContextParameters": { "index": 60, "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": 61, "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" }
+    "authBearerToken": { "index": 46, "kind": "parameter", "displayName": 
"Auth Bearer Token", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": true, "description": 
"Authentication bearer token" },
+    "authDomain": { "index": 47, "kind": "parameter", "displayName": "Auth 
Domain", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication domain to 
use with NTML" },
+    "authenticationPreemptive": { "index": 48, "kind": "parameter", 
"displayName": "Authentication Preemptive", "group": "security", "label": 
"producer,security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If this option is true, camel-http sends 
preemptive basic authentication to the server." },
+    "authHost": { "index": 49, "kind": "parameter", "displayName": "Auth 
Host", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication host to use 
with NTML" },
+    "authMethod": { "index": 50, "kind": "parameter", "displayName": "Auth 
Method", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Bearer", 
"Digest", "NTLM" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Authentication methods allowed to use as a comma separated list 
of values Basic, Bearer, Digest or NTLM. (NTLM is deprecated)" },
+    "authMethodPriority": { "index": 51, "kind": "parameter", "displayName": 
"Auth Method Priority", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", "enum": [ 
"Basic", "Bearer", "Digest", "NTLM" ], "deprecated": false, "autowired": false, 
"secret": false, "description": "Which authentication method to prioritize to 
use, either as Basic, Bearer, Digest or NTLM. (NTLM is deprecated)" },
+    "authPassword": { "index": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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": 58, "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" },
+    "oauth2Scope": { "index": 59, "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": 60, "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 Token endpoint" },
+    "sslContextParameters": { "index": 61, "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": 62, "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/generated/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpointConfigurer.java
 
b/components/camel-atmosphere-websocket/src/generated/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpointConfigurer.java
index a95c9e1651c..889513ba3c4 100644
--- 
a/components/camel-atmosphere-websocket/src/generated/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpointConfigurer.java
+++ 
b/components/camel-atmosphere-websocket/src/generated/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpointConfigurer.java
@@ -23,6 +23,8 @@ public class WebsocketEndpointConfigurer extends 
ServletEndpointConfigurer imple
     public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
         WebsocketEndpoint target = (WebsocketEndpoint) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "authbearertoken":
+        case "authBearerToken": 
target.setAuthBearerToken(property(camelContext, java.lang.String.class, 
value)); return true;
         case "bridgeendpoint":
         case "bridgeEndpoint": target.setBridgeEndpoint(property(camelContext, 
boolean.class, value)); return true;
         case "lazystartproducer":
@@ -38,6 +40,8 @@ public class WebsocketEndpointConfigurer extends 
ServletEndpointConfigurer imple
     @Override
     public Class<?> getOptionType(String name, boolean ignoreCase) {
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "authbearertoken":
+        case "authBearerToken": return java.lang.String.class;
         case "bridgeendpoint":
         case "bridgeEndpoint": return boolean.class;
         case "lazystartproducer":
@@ -54,6 +58,8 @@ public class WebsocketEndpointConfigurer extends 
ServletEndpointConfigurer imple
     public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
         WebsocketEndpoint target = (WebsocketEndpoint) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "authbearertoken":
+        case "authBearerToken": return target.getAuthBearerToken();
         case "bridgeendpoint":
         case "bridgeEndpoint": return target.isBridgeEndpoint();
         case "lazystartproducer":
diff --git 
a/components/camel-atmosphere-websocket/src/generated/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpointUriFactory.java
 
b/components/camel-atmosphere-websocket/src/generated/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpointUriFactory.java
index d65bdb97a77..097b64d20b0 100644
--- 
a/components/camel-atmosphere-websocket/src/generated/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpointUriFactory.java
+++ 
b/components/camel-atmosphere-websocket/src/generated/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpointUriFactory.java
@@ -23,9 +23,10 @@ public class WebsocketEndpointUriFactory extends 
org.apache.camel.support.compon
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(28);
+        Set<String> props = new HashSet<>(29);
         props.add("async");
         props.add("attachmentMultipartBinding");
+        props.add("authBearerToken");
         props.add("bridgeEndpoint");
         props.add("bridgeErrorHandler");
         props.add("chunked");
@@ -53,7 +54,9 @@ public class WebsocketEndpointUriFactory extends 
org.apache.camel.support.compon
         props.add("transferException");
         props.add("useStreaming");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        SECRET_PROPERTY_NAMES = Collections.emptySet();
+        Set<String> secretProps = new HashSet<>(1);
+        secretProps.add("authBearerToken");
+        SECRET_PROPERTY_NAMES = Collections.unmodifiableSet(secretProps);
         MULTI_VALUE_PREFIXES = Collections.emptySet();
     }
 
diff --git 
a/components/camel-atmosphere-websocket/src/generated/resources/META-INF/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json
 
b/components/camel-atmosphere-websocket/src/generated/resources/META-INF/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json
index d47413d1c7b..cae97eec4bc 100644
--- 
a/components/camel-atmosphere-websocket/src/generated/resources/META-INF/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json
+++ 
b/components/camel-atmosphere-websocket/src/generated/resources/META-INF/org/apache/camel/component/atmosphere/websocket/atmosphere-websocket.json
@@ -72,6 +72,7 @@
     "optionsEnabled": { "index": 24, "kind": "parameter", "displayName": 
"Options Enabled", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Specifies whether to enable HTTP OPTIONS 
for this Servlet consumer. By default OPTIONS is turned off." },
     "traceEnabled": { "index": 25, "kind": "parameter", "displayName": "Trace 
Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Specifies whether to enable HTTP TRACE for this Servlet 
consumer. By default TRACE is turned off." },
     "bridgeEndpoint": { "index": 26, "kind": "parameter", "displayName": 
"Bridge Endpoint", "group": "producer", "label": "producer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "If the option is 
true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the 
endpoint's URI for request. You may also set the option throwExceptionOnFailure 
to be false to let the HttpPro [...]
-    "lazyStartProducer": { "index": 27, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "lazyStartProducer": { "index": 27, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "authBearerToken": { "index": 28, "kind": "parameter", "displayName": 
"Auth Bearer Token", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": true, "description": 
"Authentication bearer token" }
   }
 }
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 f1c594d8059..0b8c337b386 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
@@ -144,14 +144,16 @@ public abstract class HttpCommonEndpoint extends 
DefaultEndpoint
               description = "Configure the HTTP method to use. The HttpMethod 
header cannot override this option if set.")
     private HttpMethods httpMethod;
 
-    @UriParam(label = "producer,security",
-              description = "Authentication methods allowed to use as a comma 
separated list of values Basic, Digest or NTLM. (NTLM is deprecated)")
+    @UriParam(label = "producer,security", enums = "Basic,Bearer,Digest,NTLM",
+              description = "Authentication methods allowed to use as a comma 
separated list of values Basic, Bearer, Digest or NTLM. (NTLM is deprecated)")
     private String authMethod;
-    @UriParam(label = "producer,security", enums = "Basic,Digest,NTLM",
-              description = "Which authentication method to prioritize to use, 
either as Basic, Digest or NTLM. (NTLM is deprecated)")
+    @UriParam(label = "producer,security", enums = "Basic,Bearer,Digest,NTLM",
+              description = "Which authentication method to prioritize to use, 
either as Basic, Bearer, Digest or NTLM. (NTLM is deprecated)")
     private String authMethodPriority;
     @UriParam(label = "producer,security", secret = true, description = 
"Authentication username")
     private String authUsername;
+    @UriParam(label = "producer,security", secret = true, description = 
"Authentication bearer token")
+    private String authBearerToken;
     @UriParam(label = "producer,security", secret = true, description = 
"Authentication password")
     private String authPassword;
     @UriParam(label = "producer,security", secret = true, description = 
"OAuth2 client id")
@@ -685,6 +687,17 @@ public abstract class HttpCommonEndpoint extends 
DefaultEndpoint
         this.authPassword = authPassword;
     }
 
+    public String getAuthBearerToken() {
+        return authBearerToken;
+    }
+
+    /**
+     * Authentication bearer token
+     */
+    public void setAuthBearerToken(String authBearerToken) {
+        this.authBearerToken = authBearerToken;
+    }
+
     public String getAuthDomain() {
         return authDomain;
     }
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 2b38c227c51..ca34928c2c8 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
@@ -25,15 +25,17 @@ public class HttpConfiguration implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @Metadata(label = "producer,security",
-              description = "Authentication methods allowed to use as a comma 
separated list of values Basic, Digest or NTLM.")
+              description = "Authentication methods allowed to use as a comma 
separated list of values Basic, Digest or NTLM. (NTLM is deprecated)")
     private String authMethod;
-    @Metadata(label = "producer,security", enums = "Basic,Digest,NTLM",
-              description = "Which authentication method to prioritize to use, 
either as Basic, Digest or NTLM.")
+    @Metadata(label = "producer,security", enums = "Basic,Bearer,Digest,NTLM",
+              description = "Which authentication method to prioritize to use, 
either as Basic, Bearer, Digest or NTLM. (NTLM is deprecated)")
     private String authMethodPriority;
     @Metadata(label = "producer,security", secret = true, description = 
"Authentication username")
     private String authUsername;
     @Metadata(label = "producer,security", secret = true, description = 
"Authentication password")
     private String authPassword;
+    @Metadata(label = "producer,security", secret = true, description = 
"Authentication bearer token")
+    private String authBearerToken;
     @Metadata(label = "producer,security", secret = true, description = 
"OAuth2 client id")
     private String oauth2ClientId;
     @Metadata(label = "producer,security", secret = true, description = 
"OAuth2 client secret")
@@ -46,7 +48,7 @@ public class HttpConfiguration implements Serializable {
     private String oauth2ResourceIndicator;
     @UriParam(label = "producer,security", defaultValue = "false",
               description = "Whether to cache OAuth2 client tokens.")
-    private boolean oauth2CacheTokens = false;
+    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;
@@ -57,10 +59,10 @@ public class HttpConfiguration implements Serializable {
                             +
                             "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;
-    @Metadata(label = "producer,security", description = "Authentication 
domain to use with NTML")
+    @Metadata(label = "producer,security", description = "Authentication 
domain to use with NTLM")
     @Deprecated
     private String authDomain;
-    @Metadata(label = "producer,security", description = "Authentication host 
to use with NTML")
+    @Metadata(label = "producer,security", description = "Authentication host 
to use with NTLM")
     @Deprecated
     private String authHost;
     @Metadata(label = "producer,proxy", description = "Proxy hostname to use")
@@ -79,7 +81,7 @@ public class HttpConfiguration implements Serializable {
     private String proxyAuthHost;
     @Metadata(label = "producer,proxy", description = "Proxy authentication 
port")
     private int proxyAuthPort;
-    @Metadata(label = "producer,proxy", description = "Proxy authentication 
domain to use with NTML")
+    @Metadata(label = "producer,proxy", description = "Proxy authentication 
domain to use with NTLM")
     @Deprecated
     private String proxyAuthDomain;
 
@@ -127,6 +129,17 @@ public class HttpConfiguration implements Serializable {
         this.authPassword = authPassword;
     }
 
+    public String getAuthBearerToken() {
+        return authBearerToken;
+    }
+
+    /**
+     * Authentication bearer token
+     */
+    public void setAuthBearerToken(String authBearerToken) {
+        this.authBearerToken = authBearerToken;
+    }
+
     public String getAuthDomain() {
         return authDomain;
     }
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 9618bae6b98..f5b6522253b 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
@@ -23,6 +23,8 @@ public class HttpEndpointConfigurer extends 
PropertyConfigurerSupport implements
     public boolean configure(CamelContext camelContext, Object obj, String 
name, Object value, boolean ignoreCase) {
         HttpEndpoint target = (HttpEndpoint) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "authbearertoken":
+        case "authBearerToken": 
target.setAuthBearerToken(property(camelContext, java.lang.String.class, 
value)); return true;
         case "authdomain":
         case "authDomain": target.setAuthDomain(property(camelContext, 
java.lang.String.class, value)); return true;
         case "authhost":
@@ -152,6 +154,8 @@ public class HttpEndpointConfigurer extends 
PropertyConfigurerSupport implements
     @Override
     public Class<?> getOptionType(String name, boolean ignoreCase) {
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "authbearertoken":
+        case "authBearerToken": return java.lang.String.class;
         case "authdomain":
         case "authDomain": return java.lang.String.class;
         case "authhost":
@@ -282,6 +286,8 @@ public class HttpEndpointConfigurer extends 
PropertyConfigurerSupport implements
     public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
         HttpEndpoint target = (HttpEndpoint) obj;
         switch (ignoreCase ? name.toLowerCase() : name) {
+        case "authbearertoken":
+        case "authBearerToken": return target.getAuthBearerToken();
         case "authdomain":
         case "authDomain": return target.getAuthDomain();
         case "authhost":
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 a03543314bc..6195464445e 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,8 @@ public class HttpEndpointUriFactory extends 
org.apache.camel.support.component.E
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(62);
+        Set<String> props = new HashSet<>(63);
+        props.add("authBearerToken");
         props.add("authDomain");
         props.add("authHost");
         props.add("authMethod");
@@ -88,7 +89,8 @@ public class HttpEndpointUriFactory extends 
org.apache.camel.support.component.E
         props.add("userAgent");
         props.add("x509HostnameVerifier");
         PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        Set<String> secretProps = new HashSet<>(6);
+        Set<String> secretProps = new HashSet<>(7);
+        secretProps.add("authBearerToken");
         secretProps.add("authPassword");
         secretProps.add("authUsername");
         secretProps.add("oauth2ClientId");
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 2a4625e4ef1..0c68d9a4c50 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
@@ -135,21 +135,22 @@
     "proxyAuthUsername": { "index": 43, "kind": "parameter", "displayName": 
"Proxy Auth Username", "group": "proxy", "label": "producer,proxy", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "description": "Proxy authentication 
username" },
     "proxyHost": { "index": 44, "kind": "parameter", "displayName": "Proxy 
Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Proxy hostname to use" },
     "proxyPort": { "index": 45, "kind": "parameter", "displayName": "Proxy 
Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "description": "Proxy port to use" },
-    "authDomain": { "index": 46, "kind": "parameter", "displayName": "Auth 
Domain", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication domain to 
use with NTML" },
-    "authenticationPreemptive": { "index": 47, "kind": "parameter", 
"displayName": "Authentication Preemptive", "group": "security", "label": 
"producer,security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If this option is true, camel-http sends 
preemptive basic authentication to the server." },
-    "authHost": { "index": 48, "kind": "parameter", "displayName": "Auth 
Host", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication host to use 
with NTML" },
-    "authMethod": { "index": 49, "kind": "parameter", "displayName": "Auth 
Method", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Authentication methods 
allowed to use as a comma separated list of values Basic, Digest or NTLM. (NTLM 
is deprecated)" },
-    "authMethodPriority": { "index": 50, "kind": "parameter", "displayName": 
"Auth Method Priority", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", "enum": [ 
"Basic", "Digest", "NTLM" ], "deprecated": false, "autowired": false, "secret": 
false, "description": "Which authentication method to prioritize to use, either 
as Basic, Digest or NTLM. (NTLM is deprecated)" },
-    "authPassword": { "index": 51, "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": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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" },
-    "oauth2Scope": { "index": 58, "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": 59, "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 Token endpoint" },
-    "sslContextParameters": { "index": 60, "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": 61, "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" }
+    "authBearerToken": { "index": 46, "kind": "parameter", "displayName": 
"Auth Bearer Token", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": true, "description": 
"Authentication bearer token" },
+    "authDomain": { "index": 47, "kind": "parameter", "displayName": "Auth 
Domain", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication domain to 
use with NTML" },
+    "authenticationPreemptive": { "index": 48, "kind": "parameter", 
"displayName": "Authentication Preemptive", "group": "security", "label": 
"producer,security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If this option is true, camel-http sends 
preemptive basic authentication to the server." },
+    "authHost": { "index": 49, "kind": "parameter", "displayName": "Auth 
Host", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication host to use 
with NTML" },
+    "authMethod": { "index": 50, "kind": "parameter", "displayName": "Auth 
Method", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Bearer", 
"Digest", "NTLM" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Authentication methods allowed to use as a comma separated list 
of values Basic, Bearer, Digest or NTLM. (NTLM is deprecated)" },
+    "authMethodPriority": { "index": 51, "kind": "parameter", "displayName": 
"Auth Method Priority", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", "enum": [ 
"Basic", "Bearer", "Digest", "NTLM" ], "deprecated": false, "autowired": false, 
"secret": false, "description": "Which authentication method to prioritize to 
use, either as Basic, Bearer, Digest or NTLM. (NTLM is deprecated)" },
+    "authPassword": { "index": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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": 58, "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" },
+    "oauth2Scope": { "index": 59, "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": 60, "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 Token endpoint" },
+    "sslContextParameters": { "index": 61, "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": 62, "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 1b28a1bbea1..60b5e229cc2 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
@@ -135,21 +135,22 @@
     "proxyAuthUsername": { "index": 43, "kind": "parameter", "displayName": 
"Proxy Auth Username", "group": "proxy", "label": "producer,proxy", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "description": "Proxy authentication 
username" },
     "proxyHost": { "index": 44, "kind": "parameter", "displayName": "Proxy 
Host", "group": "proxy", "label": "producer,proxy", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Proxy hostname to use" },
     "proxyPort": { "index": 45, "kind": "parameter", "displayName": "Proxy 
Port", "group": "proxy", "label": "producer,proxy", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "description": "Proxy port to use" },
-    "authDomain": { "index": 46, "kind": "parameter", "displayName": "Auth 
Domain", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication domain to 
use with NTML" },
-    "authenticationPreemptive": { "index": 47, "kind": "parameter", 
"displayName": "Authentication Preemptive", "group": "security", "label": 
"producer,security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If this option is true, camel-http sends 
preemptive basic authentication to the server." },
-    "authHost": { "index": 48, "kind": "parameter", "displayName": "Auth 
Host", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication host to use 
with NTML" },
-    "authMethod": { "index": 49, "kind": "parameter", "displayName": "Auth 
Method", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Authentication methods 
allowed to use as a comma separated list of values Basic, Digest or NTLM. (NTLM 
is deprecated)" },
-    "authMethodPriority": { "index": 50, "kind": "parameter", "displayName": 
"Auth Method Priority", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", "enum": [ 
"Basic", "Digest", "NTLM" ], "deprecated": false, "autowired": false, "secret": 
false, "description": "Which authentication method to prioritize to use, either 
as Basic, Digest or NTLM. (NTLM is deprecated)" },
-    "authPassword": { "index": 51, "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": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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" },
-    "oauth2Scope": { "index": 58, "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": 59, "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 Token endpoint" },
-    "sslContextParameters": { "index": 60, "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": 61, "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" }
+    "authBearerToken": { "index": 46, "kind": "parameter", "displayName": 
"Auth Bearer Token", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": true, "description": 
"Authentication bearer token" },
+    "authDomain": { "index": 47, "kind": "parameter", "displayName": "Auth 
Domain", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication domain to 
use with NTML" },
+    "authenticationPreemptive": { "index": 48, "kind": "parameter", 
"displayName": "Authentication Preemptive", "group": "security", "label": 
"producer,security", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If this option is true, camel-http sends 
preemptive basic authentication to the server." },
+    "authHost": { "index": 49, "kind": "parameter", "displayName": "Auth 
Host", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": true, 
"autowired": false, "secret": false, "description": "Authentication host to use 
with NTML" },
+    "authMethod": { "index": 50, "kind": "parameter", "displayName": "Auth 
Method", "group": "security", "label": "producer,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "enum": [ "Basic", "Bearer", 
"Digest", "NTLM" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Authentication methods allowed to use as a comma separated list 
of values Basic, Bearer, Digest or NTLM. (NTLM is deprecated)" },
+    "authMethodPriority": { "index": 51, "kind": "parameter", "displayName": 
"Auth Method Priority", "group": "security", "label": "producer,security", 
"required": false, "type": "string", "javaType": "java.lang.String", "enum": [ 
"Basic", "Bearer", "Digest", "NTLM" ], "deprecated": false, "autowired": false, 
"secret": false, "description": "Which authentication method to prioritize to 
use, either as Basic, Bearer, Digest or NTLM. (NTLM is deprecated)" },
+    "authPassword": { "index": 52, "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": 53, "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": 54, "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": 55, "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": 56, "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": 57, "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": 58, "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" },
+    "oauth2Scope": { "index": 59, "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": 60, "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 Token endpoint" },
+    "sslContextParameters": { "index": 61, "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": 62, "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/main/java/org/apache/camel/component/http/BasicAuthenticationHttpClientConfigurer.java
 
b/components/camel-http/src/main/java/org/apache/camel/component/http/BasicAuthenticationHttpClientConfigurer.java
index 8ca73426032..020a3c6898a 100644
--- 
a/components/camel-http/src/main/java/org/apache/camel/component/http/BasicAuthenticationHttpClientConfigurer.java
+++ 
b/components/camel-http/src/main/java/org/apache/camel/component/http/BasicAuthenticationHttpClientConfigurer.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.http;
 
+import org.apache.hc.client5.http.auth.BearerToken;
 import org.apache.hc.client5.http.auth.Credentials;
 import org.apache.hc.client5.http.auth.NTCredentials;
 import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
@@ -26,14 +27,16 @@ public class BasicAuthenticationHttpClientConfigurer 
implements HttpClientConfig
     private final char[] password;
     private final String domain;
     private final String host;
+    private final String bearerToken;
     private final HttpCredentialsHelper credentialsHelper;
 
-    public BasicAuthenticationHttpClientConfigurer(String user, String pwd, 
String domain, String host,
+    public BasicAuthenticationHttpClientConfigurer(String user, String pwd, 
String domain, String host, String bearerToken,
                                                    HttpCredentialsHelper 
credentialsHelper) {
         this.username = user;
         this.password = pwd == null ? new char[0] : pwd.toCharArray();
         this.domain = domain;
         this.host = host;
+        this.bearerToken = bearerToken;
         this.credentialsHelper = credentialsHelper;
     }
 
@@ -42,6 +45,8 @@ public class BasicAuthenticationHttpClientConfigurer 
implements HttpClientConfig
         Credentials defaultcreds;
         if (domain != null) {
             defaultcreds = new NTCredentials(username, password, host, domain);
+        } else if (bearerToken != null) {
+            defaultcreds = new BearerToken(bearerToken);
         } else {
             defaultcreds = new UsernamePasswordCredentials(username, password);
         }
diff --git 
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
 
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
index 32beb228c85..abd4f7d6ac9 100644
--- 
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
+++ 
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
@@ -288,14 +288,16 @@ public class HttpComponent extends HttpCommonComponent 
implements RestProducerFa
 
             return CompositeHttpConfigurer.combineConfigurers(configurer,
                     new BasicAuthenticationHttpClientConfigurer(
-                            authUsername, authPassword, authDomain, authHost, 
credentialsProvider));
+                            authUsername, authPassword, authDomain, authHost, 
null, credentialsProvider));
         } else if (this.httpConfiguration != null) {
-            if 
("basic".equalsIgnoreCase(this.httpConfiguration.getAuthMethod())) {
+            if 
("basic".equalsIgnoreCase(this.httpConfiguration.getAuthMethod())
+                    || 
"bearer".equalsIgnoreCase(this.httpConfiguration.getAuthMethod())) {
                 return CompositeHttpConfigurer.combineConfigurers(configurer,
                         new BasicAuthenticationHttpClientConfigurer(
                                 this.httpConfiguration.getAuthUsername(),
                                 this.httpConfiguration.getAuthPassword(), 
this.httpConfiguration.getAuthDomain(),
-                                this.httpConfiguration.getAuthHost(), 
credentialsProvider));
+                                this.httpConfiguration.getAuthHost(), 
this.httpConfiguration.getAuthBearerToken(),
+                                credentialsProvider));
             }
         }
 
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AtmosphereWebsocketEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AtmosphereWebsocketEndpointBuilderFactory.java
index 8ee72b517e7..ba5a9e2dffc 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AtmosphereWebsocketEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/AtmosphereWebsocketEndpointBuilderFactory.java
@@ -1123,6 +1123,20 @@ public interface 
AtmosphereWebsocketEndpointBuilderFactory {
             doSetProperty("bridgeEndpoint", bridgeEndpoint);
             return this;
         }
+        /**
+         * Authentication bearer token.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param authBearerToken the value to set
+         * @return the dsl builder
+         */
+        default AtmosphereWebsocketEndpointProducerBuilder 
authBearerToken(String authBearerToken) {
+            doSetProperty("authBearerToken", authBearerToken);
+            return this;
+        }
     }
 
     /**
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 21c5b41ab38..9096f6707c3 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
@@ -567,6 +567,20 @@ public interface HttpEndpointBuilderFactory {
             doSetProperty("proxyPort", proxyPort);
             return this;
         }
+        /**
+         * Authentication bearer token.
+         * 
+         * The option is a: <code>java.lang.String</code> type.
+         * 
+         * Group: security
+         * 
+         * @param authBearerToken the value to set
+         * @return the dsl builder
+         */
+        default HttpEndpointBuilder authBearerToken(String authBearerToken) {
+            doSetProperty("authBearerToken", authBearerToken);
+            return this;
+        }
         /**
          * Authentication domain to use with NTML.
          * 
@@ -631,7 +645,7 @@ public interface HttpEndpointBuilderFactory {
         }
         /**
          * Authentication methods allowed to use as a comma separated list of
-         * values Basic, Digest or NTLM. (NTLM is deprecated).
+         * values Basic, Bearer, Digest or NTLM. (NTLM is deprecated).
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 
@@ -646,7 +660,7 @@ public interface HttpEndpointBuilderFactory {
         }
         /**
          * Which authentication method to prioritize to use, either as Basic,
-         * Digest or NTLM. (NTLM is deprecated).
+         * Bearer, Digest or NTLM. (NTLM is deprecated).
          * 
          * The option is a: <code>java.lang.String</code> type.
          * 

Reply via email to