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 a92bf23454c CAMEL-22081: camel-http: fix: adding
oauth2ResourceIndicator where applicable
a92bf23454c is described below
commit a92bf23454c2b43fd70815e88eacf099a6b5c969
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue May 20 13:28:27 2025 +0200
CAMEL-22081: camel-http: fix: adding oauth2ResourceIndicator where
applicable
---
.../org/apache/camel/catalog/components/http.json | 9 ++--
.../org/apache/camel/catalog/components/https.json | 9 ++--
.../atmosphere/websocket/WebsocketEndpoint.java | 6 +--
.../camel/http/common/HttpCommonEndpoint.java | 55 +++++++++++++---------
.../component/http/HttpEndpointConfigurer.java | 6 +++
.../component/http/HttpEndpointUriFactory.java | 3 +-
.../org/apache/camel/component/http/http.json | 9 ++--
.../org/apache/camel/component/http/https.json | 9 ++--
.../camel-http/src/main/docs/http-component.adoc | 2 +-
.../endpoint/dsl/HttpEndpointBuilderFactory.java | 16 ++++++-
10 files changed, 80 insertions(+), 44 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 0c68d9a4c50..10d843bf738 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,9 +148,10 @@
"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" }
+ "oauth2ResourceIndicator": { "index": 59, "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": 60, "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": 61, "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": 62, "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": 63, "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 60b5e229cc2..b0ea6dc4976 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,9 +148,10 @@
"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" }
+ "oauth2ResourceIndicator": { "index": 59, "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": 60, "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": 61, "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": 62, "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": 63, "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 b323e2556eb..93651e17097 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
@@ -34,14 +34,14 @@ import org.apache.camel.util.StringHelper;
* Expose WebSocket endpoints using the Atmosphere framework.
*/
@UriEndpoint(firstVersion = "2.14.0", scheme = "atmosphere-websocket",
extendsScheme = "servlet",
- title = "Atmosphere Websocket",
- syntax = "atmosphere-websocket:servicePath", category = {
Category.HTTP, Category.NETWORKING },
+ title = "Atmosphere Websocket", syntax =
"atmosphere-websocket:servicePath", category = {
+ Category.HTTP, Category.NETWORKING },
headersClass = WebsocketConstants.class)
@Metadata(excludeProperties =
"httpUri,contextPath,cookieHandler,connectionClose,authMethod,authMethodPriority,authUsername,authPassword,authDomain,authHost,authBearerToken,"
+
"copyHeaders,httpMethod,ignoreResponseBody,preserveHostHeader,throwExceptionOnFailure,okStatusCodeRange,"
+
"proxyAuthScheme,proxyAuthMethod,proxyAuthUsername,proxyAuthPassword,proxyAuthHost,proxyAuthPort,proxyAuthDomain,"
+
"proxyAuthNtHost,proxyAuthScheme,proxyHost,proxyPort,"
- +
"oauth2ClientId,oauth2ClientSecret,oauth2TokenEndpoint,oauth2Scope,oauth2CacheTokens,oauth2CachedTokensDefaultExpirySeconds,oauth2CachedTokensExpirationMarginSeconds",
+ +
"oauth2ClientId,oauth2ClientSecret,oauth2TokenEndpoint,oauth2Scope,oauth2CacheTokens,oauth2CachedTokensDefaultExpirySeconds,oauth2CachedTokensExpirationMarginSeconds,oauth2ResourceIndicator",
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 0b8c337b386..121079341f3 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
@@ -34,7 +34,8 @@ import org.apache.camel.util.CollectionHelper;
public abstract class HttpCommonEndpoint extends DefaultEndpoint
implements HeaderFilterStrategyAware, DiscoverableService,
EndpointServiceLocation {
- // Note: all options must be documented with description in annotations so
extended components can access the documentation
+ // Note: all options must be documented with description in annotations so
+ // extended components can access the documentation
HttpCommonComponent component;
@@ -66,17 +67,16 @@ public abstract class HttpCommonEndpoint extends
DefaultEndpoint
@UriParam(defaultValue = "true",
description = "If this option is false the Servlet will disable
the HTTP streaming and set the content-length header on the response")
boolean chunked = true;
- @UriParam(label = "common",
- description = "Determines whether or not the raw input stream is
cached or not."
- + " The Camel consumer (camel-servlet, camel-jetty
etc.) will by default cache the input stream to support reading it multiple
times to ensure it Camel"
- + " can retrieve all data from the stream. However
you can set this option to true when you for example need"
- + " to access the raw stream, such as streaming it
directly to a file or other persistent store."
- + " DefaultHttpBinding will copy the request input
stream into a stream cache and put it into message body"
- + " if this option is false to support reading the
stream multiple times."
- + " If you use Servlet to bridge/proxy an endpoint
then consider enabling this option to improve performance,"
- + " in case you do not need to read the message
payload multiple times."
- + " The producer (camel-http) will by default
cache the response body stream. If setting this option to true,"
- + " then the producers will not cache the response
body stream but use the response stream as-is (the stream can only be read
once) as the message body.")
+ @UriParam(label = "common", description = "Determines whether or not the
raw input stream is cached or not."
+ + " The Camel consumer
(camel-servlet, camel-jetty etc.) will by default cache the input stream to
support reading it multiple times to ensure it Camel"
+ + " can retrieve all data from
the stream. However you can set this option to true when you for example need"
+ + " to access the raw stream,
such as streaming it directly to a file or other persistent store."
+ + " DefaultHttpBinding will copy
the request input stream into a stream cache and put it into message body"
+ + " if this option is false to
support reading the stream multiple times."
+ + " If you use Servlet to
bridge/proxy an endpoint then consider enabling this option to improve
performance,"
+ + " in case you do not need to
read the message payload multiple times."
+ + " The producer (camel-http)
will by default cache the response body stream. If setting this option to true,"
+ + " then the producers will not
cache the response body stream but use the response stream as-is (the stream
can only be read once) as the message body.")
boolean disableStreamCache;
@UriParam(label = "common",
description = "If enabled and an Exchange failed processing on
the consumer side, and if the caused Exception was send back serialized"
@@ -105,8 +105,7 @@ public abstract class HttpCommonEndpoint extends
DefaultEndpoint
@UriParam(label = "consumer",
description = "Used to only allow consuming if the HttpMethod
matches, such as GET/POST/PUT etc. Multiple methods can be specified separated
by comma.")
String httpMethodRestrict;
- @UriParam(label = "consumer",
- description = "To use a custom buffer size on the
jakarta.servlet.ServletResponse.")
+ @UriParam(label = "consumer", description = "To use a custom buffer size
on the jakarta.servlet.ServletResponse.")
Integer responseBufferSize;
@UriParam(label = "producer,advanced",
description = "If this option is true, The http producer won't
read response body and cache the input stream")
@@ -135,8 +134,7 @@ public abstract class HttpCommonEndpoint extends
DefaultEndpoint
description = "The status codes which are considered a success
response. The values are inclusive. Multiple ranges can be"
+ " defined, separated by comma, e.g.
200-204,209,301-304. Each range must be a single number or from-to with the
dash included.")
private String okStatusCodeRange = "200-299";
- @UriParam(label = "consumer", defaultValue = "false",
- description = "Configure the consumer to work in async mode")
+ @UriParam(label = "consumer", defaultValue = "false", description =
"Configure the consumer to work in async mode")
private boolean async;
@UriParam(label = "producer,advanced", description = "Configure a cookie
handler to maintain a HTTP session")
private CookieHandler cookieHandler;
@@ -161,11 +159,12 @@ public abstract class HttpCommonEndpoint extends
DefaultEndpoint
@UriParam(label = "producer,security", secret = true, description =
"OAuth2 client secret")
private String oauth2ClientSecret;
@UriParam(label = "producer,security", description = "OAuth2 Token
endpoint")
+ private String oauth2ResourceIndicator;
+ @UriParam(label = "producer,security", description = "OAuth2 Resource
Indicator")
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.")
+ @UriParam(label = "producer,security", defaultValue = "false", description
= "Whether to cache OAuth2 client tokens.")
private boolean oauth2CacheTokens = false;
@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.")
@@ -250,12 +249,13 @@ public abstract class HttpCommonEndpoint extends
DefaultEndpoint
@Override
public boolean isLenientProperties() {
- // true to allow dynamic URI options to be configured and passed to
external system for eg. the HttpProducer
+ // true to allow dynamic URI options to be configured and passed to
external
+ // system for eg. the HttpProducer
return true;
}
// Service Registration
- //-------------------------------------------------------------------------
+ //
-------------------------------------------------------------------------
@Override
public Map<String, String> getServiceProperties() {
@@ -266,7 +266,7 @@ public abstract class HttpCommonEndpoint extends
DefaultEndpoint
}
// Properties
- //-------------------------------------------------------------------------
+ //
-------------------------------------------------------------------------
/**
* @deprecated use {@link #getHttpBinding()}
@@ -302,7 +302,7 @@ public abstract class HttpCommonEndpoint extends
DefaultEndpoint
}
public String getPath() {
- //if the path is empty, we just return the default path here
+ // if the path is empty, we just return the default path here
return httpUri.getPath().isEmpty() ? "/" : httpUri.getPath();
}
@@ -867,6 +867,17 @@ public abstract class HttpCommonEndpoint extends
DefaultEndpoint
return oauth2Scope;
}
+ /**
+ * OAuth2 Resource Indicator
+ */
+ public void setOauth2ResourceIndicator(String oauth2ResourceIndicator) {
+ this.oauth2ResourceIndicator = oauth2ResourceIndicator;
+ }
+
+ public String getOauth2ResourceIndicator() {
+ return this.oauth2ResourceIndicator;
+ }
+
/**
* OAuth2 scope
*/
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 f5b6522253b..2d2fc64d1cb 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
@@ -105,6 +105,8 @@ public class HttpEndpointConfigurer extends
PropertyConfigurerSupport implements
case "oauth2ClientId": target.setOauth2ClientId(property(camelContext,
java.lang.String.class, value)); return true;
case "oauth2clientsecret":
case "oauth2ClientSecret":
target.setOauth2ClientSecret(property(camelContext, java.lang.String.class,
value)); return true;
+ case "oauth2resourceindicator":
+ case "oauth2ResourceIndicator":
target.setOauth2ResourceIndicator(property(camelContext,
java.lang.String.class, value)); return true;
case "oauth2scope":
case "oauth2Scope": target.setOauth2Scope(property(camelContext,
java.lang.String.class, value)); return true;
case "oauth2tokenendpoint":
@@ -236,6 +238,8 @@ public class HttpEndpointConfigurer extends
PropertyConfigurerSupport implements
case "oauth2ClientId": return java.lang.String.class;
case "oauth2clientsecret":
case "oauth2ClientSecret": return java.lang.String.class;
+ case "oauth2resourceindicator":
+ case "oauth2ResourceIndicator": return java.lang.String.class;
case "oauth2scope":
case "oauth2Scope": return java.lang.String.class;
case "oauth2tokenendpoint":
@@ -368,6 +372,8 @@ public class HttpEndpointConfigurer extends
PropertyConfigurerSupport implements
case "oauth2ClientId": return target.getOauth2ClientId();
case "oauth2clientsecret":
case "oauth2ClientSecret": return target.getOauth2ClientSecret();
+ case "oauth2resourceindicator":
+ case "oauth2ResourceIndicator": return
target.getOauth2ResourceIndicator();
case "oauth2scope":
case "oauth2Scope": return target.getOauth2Scope();
case "oauth2tokenendpoint":
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 6195464445e..9138d8da85c 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 Set<String> MULTI_VALUE_PREFIXES;
static {
- Set<String> props = new HashSet<>(63);
+ Set<String> props = new HashSet<>(64);
props.add("authBearerToken");
props.add("authDomain");
props.add("authHost");
@@ -67,6 +67,7 @@ public class HttpEndpointUriFactory extends
org.apache.camel.support.component.E
props.add("oauth2CachedTokensExpirationMarginSeconds");
props.add("oauth2ClientId");
props.add("oauth2ClientSecret");
+ props.add("oauth2ResourceIndicator");
props.add("oauth2Scope");
props.add("oauth2TokenEndpoint");
props.add("okStatusCodeRange");
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 0c68d9a4c50..10d843bf738 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,9 +148,10 @@
"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" }
+ "oauth2ResourceIndicator": { "index": 59, "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": 60, "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": 61, "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": 62, "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": 63, "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 60b5e229cc2..b0ea6dc4976 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,9 +148,10 @@
"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" }
+ "oauth2ResourceIndicator": { "index": 59, "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": 60, "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": 61, "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": 62, "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": 63, "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/docs/http-component.adoc
b/components/camel-http/src/main/docs/http-component.adoc
index 01df39e161a..35d4fe65f2a 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -372,7 +372,7 @@ String scope = "my-scope"; // optional scope
String resourceIndicator = "https://localhost:9090"; // optional, for RFC 8707
from("direct:start")
- .to("https://localhost:9090/?oauth2ClientId=" + clientId +
"&oauth2ClientSecret=" + clientSecret + "&oauth2TokenEndpoint=" + tokenEndpoint
+ "&oauth2Scope=" + scope + "&resource=" + resourceIndicator);
+ .to("https://localhost:9090/?oauth2ClientId=" + clientId +
"&oauth2ClientSecret=" + clientSecret + "&oauth2TokenEndpoint=" + tokenEndpoint
+ "&oauth2Scope=" + scope + "&oauth2ResourceIndicator=" + resourceIndicator);
------------------------------------------------------------------------------------
NOTE: Resource Indicator is the URL to the actual endpoint as defined in the
component URI.
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 9096f6707c3..b9ff0d858ee 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
@@ -835,6 +835,20 @@ public interface HttpEndpointBuilderFactory {
doSetProperty("oauth2ClientSecret", oauth2ClientSecret);
return this;
}
+ /**
+ * OAuth2 Token endpoint.
+ *
+ * The option is a: <code>java.lang.String</code> type.
+ *
+ * Group: security
+ *
+ * @param oauth2ResourceIndicator the value to set
+ * @return the dsl builder
+ */
+ default HttpEndpointBuilder oauth2ResourceIndicator(String
oauth2ResourceIndicator) {
+ doSetProperty("oauth2ResourceIndicator", oauth2ResourceIndicator);
+ return this;
+ }
/**
* OAuth2 scope.
*
@@ -850,7 +864,7 @@ public interface HttpEndpointBuilderFactory {
return this;
}
/**
- * OAuth2 Token endpoint.
+ * OAuth2 Resource Indicator.
*
* The option is a: <code>java.lang.String</code> type.
*