From 06077dc4ea9dab1a1868b1e445a4d4c5fc505e4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Barto=C5=A1?= Date: Tue, 20 Jul 2021 16:11:01 +0200 Subject: [PATCH] KEYCLOAK-18466 Configure HTTP client timeouts for adapters - change property names --- .../test/resources/keycloak-http-client.json | 4 +- .../as7/SharedAttributeDefinitons.java | 12 +- .../main/resources/schema/keycloak_1_2.xsd | 135 ++++++++++++++++++ .../extension/SharedAttributeDefinitons.java | 12 +- .../extension/LocalDescriptions.properties | 18 +-- .../resources/schema/wildfly-keycloak_1_2.xsd | 12 +- .../extension/SubsystemParsingTestCase.java | 39 +++++ .../adapter/extension/keycloak-1.2.xml | 12 +- .../subsystem/saml/as7/Constants.java | 4 +- .../saml/as7/LocalDescriptions.properties | 6 +- .../schema/wildfly-keycloak-saml_1_4.xsd | 4 +- .../subsystem/saml/as7/keycloak-saml-1.4.xml | 2 +- .../parsers/KeycloakSamlAdapterV1QNames.java | 2 +- .../schema/keycloak_saml_adapter_1_13.xsd | 4 +- ...keycloak-saml-wth-http-client-settings.xml | 2 +- .../adapter/saml/extension/Constants.java | 4 +- .../extension/LocalDescriptions.properties | 2 +- .../schema/wildfly-keycloak-saml_1_4.xsd | 4 +- .../saml/extension/keycloak-saml-1.4.xml | 2 +- .../adapters/config/AdapterConfig.java | 8 +- core/src/test/resources/keycloak.json | 6 +- 21 files changed, 234 insertions(+), 60 deletions(-) create mode 100755 adapters/oidc/as7-eap6/as7-subsystem/src/main/resources/schema/keycloak_1_2.xsd diff --git a/adapters/oidc/adapter-core/src/test/resources/keycloak-http-client.json b/adapters/oidc/adapter-core/src/test/resources/keycloak-http-client.json index b9508d9fb12..12b2d543f54 100644 --- a/adapters/oidc/adapter-core/src/test/resources/keycloak-http-client.json +++ b/adapters/oidc/adapter-core/src/test/resources/keycloak-http-client.json @@ -3,6 +3,6 @@ "resource": "customer-portal", "auth-server-url": "https://localhost:8443/auth", "public-client": true, - "socket-timeout": 2000, - "connection-timeout": 6000 + "socket-timeout-millis": 2000, + "connection-timeout-millis": 6000 } \ No newline at end of file diff --git a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/SharedAttributeDefinitons.java b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/SharedAttributeDefinitons.java index e4752b6ea4c..e4eb1e8e7fc 100755 --- a/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/SharedAttributeDefinitons.java +++ b/adapters/oidc/as7-eap6/as7-subsystem/src/main/java/org/keycloak/subsystem/as7/SharedAttributeDefinitons.java @@ -83,20 +83,20 @@ class SharedAttributeDefinitons { .setValidator(new IntRangeValidator(0, true)) .build(); protected static final SimpleAttributeDefinition SOCKET_TIMEOUT = - new SimpleAttributeDefinitionBuilder("socket-timeout", ModelType.LONG, true) - .setXmlName("socket-timeout") + new SimpleAttributeDefinitionBuilder("socket-timeout-millis", ModelType.LONG, true) + .setXmlName("socket-timeout-millis") .setAllowExpression(true) .setValidator(new LongRangeValidator(-1L, true)) .build(); protected static final SimpleAttributeDefinition CONNECTION_TTL = - new SimpleAttributeDefinitionBuilder("connection-ttl", ModelType.LONG, true) - .setXmlName("connection-ttl") + new SimpleAttributeDefinitionBuilder("connection-ttl-millis", ModelType.LONG, true) + .setXmlName("connection-ttl-millis") .setAllowExpression(true) .setValidator(new LongRangeValidator(-1L, true)) .build(); protected static final SimpleAttributeDefinition CONNECTION_TIMEOUT = - new SimpleAttributeDefinitionBuilder("connection-timeout", ModelType.LONG, true) - .setXmlName("connection-timeout") + new SimpleAttributeDefinitionBuilder("connection-timeout-millis", ModelType.LONG, true) + .setXmlName("connection-timeout-millis") .setAllowExpression(true) .setValidator(new LongRangeValidator(-1L, true)) .build(); diff --git a/adapters/oidc/as7-eap6/as7-subsystem/src/main/resources/schema/keycloak_1_2.xsd b/adapters/oidc/as7-eap6/as7-subsystem/src/main/resources/schema/keycloak_1_2.xsd new file mode 100755 index 00000000000..d313791f1db --- /dev/null +++ b/adapters/oidc/as7-eap6/as7-subsystem/src/main/resources/schema/keycloak_1_2.xsd @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The name of the realm. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The name of the realm. + + + + + + + + + + + diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/SharedAttributeDefinitons.java b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/SharedAttributeDefinitons.java index 54037727bd6..ab75a5a7cca 100755 --- a/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/SharedAttributeDefinitons.java +++ b/adapters/oidc/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/extension/SharedAttributeDefinitons.java @@ -83,20 +83,20 @@ public class SharedAttributeDefinitons { .setValidator(new IntRangeValidator(0, true)) .build(); protected static final SimpleAttributeDefinition SOCKET_TIMEOUT = - new SimpleAttributeDefinitionBuilder("socket-timeout", ModelType.LONG, true) - .setXmlName("socket-timeout") + new SimpleAttributeDefinitionBuilder("socket-timeout-millis", ModelType.LONG, true) + .setXmlName("socket-timeout-millis") .setAllowExpression(true) .setValidator(new LongRangeValidator(-1L, true)) .build(); protected static final SimpleAttributeDefinition CONNECTION_TTL = - new SimpleAttributeDefinitionBuilder("connection-ttl", ModelType.LONG, true) - .setXmlName("connection-ttl") + new SimpleAttributeDefinitionBuilder("connection-ttl-millis", ModelType.LONG, true) + .setXmlName("connection-ttl-millis") .setAllowExpression(true) .setValidator(new LongRangeValidator(-1L, true)) .build(); protected static final SimpleAttributeDefinition CONNECTION_TIMEOUT = - new SimpleAttributeDefinitionBuilder("connection-timeout", ModelType.LONG, true) - .setXmlName("connection-timeout") + new SimpleAttributeDefinitionBuilder("connection-timeout-millis", ModelType.LONG, true) + .setXmlName("connection-timeout-millis") .setAllowExpression(true) .setValidator(new LongRangeValidator(-1L, true)) .build(); diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/main/resources/org/keycloak/subsystem/adapter/extension/LocalDescriptions.properties b/adapters/oidc/wildfly/wildfly-subsystem/src/main/resources/org/keycloak/subsystem/adapter/extension/LocalDescriptions.properties index 2bf1044161d..c0ac12f7629 100755 --- a/adapters/oidc/wildfly/wildfly-subsystem/src/main/resources/org/keycloak/subsystem/adapter/extension/LocalDescriptions.properties +++ b/adapters/oidc/wildfly/wildfly-subsystem/src/main/resources/org/keycloak/subsystem/adapter/extension/LocalDescriptions.properties @@ -35,9 +35,9 @@ keycloak.realm.allow-any-hostname=SSL Setting keycloak.realm.truststore=Truststore used for adapter client HTTPS requests keycloak.realm.truststore-password=Password of the Truststore keycloak.realm.connection-pool-size=Connection pool size for the client used by the adapter -keycloak.realm.socket-timeout=Timeout for socket waiting for data in milliseconds -keycloak.realm.connection-ttl=Connection time to live in milliseconds -keycloak.realm.connection-timeout=Timeout for establishing the connection with the remote host in milliseconds +keycloak.realm.socket-timeout-millis=Timeout for socket waiting for data in milliseconds +keycloak.realm.connection-ttl-millis=Connection time to live in milliseconds +keycloak.realm.connection-timeout-millis=Timeout for establishing the connection with the remote host in milliseconds keycloak.realm.enable-cors=Enable Keycloak CORS support keycloak.realm.client-keystore=n/a keycloak.realm.client-keystore-password=n/a @@ -71,9 +71,9 @@ keycloak.secure-deployment.allow-any-hostname=SSL Setting keycloak.secure-deployment.truststore=Truststore used for adapter client HTTPS requests keycloak.secure-deployment.truststore-password=Password of the Truststore keycloak.secure-deployment.connection-pool-size=Connection pool size for the client used by the adapter -keycloak.secure-deployment.socket-timeout=Timeout for socket waiting for data in milliseconds -keycloak.secure-deployment.connection-ttl=Connection time to live in milliseconds -keycloak.secure-deployment.connection-timeout=Timeout for establishing the connection with the remote host in milliseconds +keycloak.secure-deployment.socket-timeout-millis=Timeout for socket waiting for data in milliseconds +keycloak.secure-deployment.connection-ttl-millis=Connection time to live in milliseconds +keycloak.secure-deployment.connection-timeout-millis=Timeout for establishing the connection with the remote host in milliseconds keycloak.secure-deployment.resource=Application name keycloak.secure-deployment.use-resource-role-mappings=Use resource level permissions from token keycloak.secure-deployment.credentials=Adapter credentials @@ -119,9 +119,9 @@ keycloak.secure-server.allow-any-hostname=SSL Setting keycloak.secure-server.truststore=Truststore used for adapter client HTTPS requests keycloak.secure-server.truststore-password=Password of the Truststore keycloak.secure-server.connection-pool-size=Connection pool size for the client used by the adapter -keycloak.secure-server.socket-timeout=Timeout for socket waiting for data in milliseconds -keycloak.secure-server.connection-ttl=Connection time to live in milliseconds -keycloak.secure-server.connection-timeout=Timeout for establishing the connection with the remote host in milliseconds +keycloak.secure-server.socket-timeout-millis=Timeout for socket waiting for data in milliseconds +keycloak.secure-server.connection-ttl-millis=Connection time to live in milliseconds +keycloak.secure-server.connection-timeout-millis=Timeout for establishing the connection with the remote host in milliseconds keycloak.secure-server.resource=Application name keycloak.secure-server.use-resource-role-mappings=Use resource level permissions from token keycloak.secure-server.credentials=Adapter credentials diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/main/resources/schema/wildfly-keycloak_1_2.xsd b/adapters/oidc/wildfly/wildfly-subsystem/src/main/resources/schema/wildfly-keycloak_1_2.xsd index c5b3c29a8b2..dd8eefcea7f 100755 --- a/adapters/oidc/wildfly/wildfly-subsystem/src/main/resources/schema/wildfly-keycloak_1_2.xsd +++ b/adapters/oidc/wildfly/wildfly-subsystem/src/main/resources/schema/wildfly-keycloak_1_2.xsd @@ -53,9 +53,9 @@ - - - + + + @@ -104,9 +104,9 @@ - - - + + + diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/test/java/org/keycloak/subsystem/adapter/extension/SubsystemParsingTestCase.java b/adapters/oidc/wildfly/wildfly-subsystem/src/test/java/org/keycloak/subsystem/adapter/extension/SubsystemParsingTestCase.java index e60419b11e0..02d64ac9c1f 100755 --- a/adapters/oidc/wildfly/wildfly-subsystem/src/test/java/org/keycloak/subsystem/adapter/extension/SubsystemParsingTestCase.java +++ b/adapters/oidc/wildfly/wildfly-subsystem/src/test/java/org/keycloak/subsystem/adapter/extension/SubsystemParsingTestCase.java @@ -16,6 +16,7 @@ */ package org.keycloak.subsystem.adapter.extension; +import org.hamcrest.CoreMatchers; import org.jboss.as.controller.PathAddress; import org.jboss.as.controller.PathElement; import org.jboss.as.controller.descriptions.ModelDescriptionConstants; @@ -30,6 +31,8 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.Map; +import static org.hamcrest.MatcherAssert.assertThat; + /** * Tests all management expects for subsystem, parsing, marshaling, model definition and other @@ -147,6 +150,42 @@ public class SubsystemParsingTestCase extends AbstractSubsystemBaseTest { Assert.assertEquals("api/$1", entry.getValue()); } + @Test + public void testJsonHttpClientAttributes() { + KeycloakAdapterConfigService service = KeycloakAdapterConfigService.getInstance(); + + // add a secure deployment + PathAddress addr = PathAddress.pathAddress(PathElement.pathElement("subsystem", "keycloak"), PathElement.pathElement("secure-deployment", "foo")); + ModelNode deploymentOp = new ModelNode(); + deploymentOp.get(ModelDescriptionConstants.OP_ADDR).set(addr.toModelNode()); + + ModelNode deployment = new ModelNode(); + deployment.get("realm").set("demo"); + deployment.get("resource").set("customer-portal"); + + deployment.get(SharedAttributeDefinitons.SOCKET_TIMEOUT.getName()).set(3000L); + deployment.get(SharedAttributeDefinitons.CONNECTION_TIMEOUT.getName()).set(5000L); + deployment.get(SharedAttributeDefinitons.CONNECTION_TTL.getName()).set(1000L); + + service.addSecureDeployment(deploymentOp, deployment, false); + + // get the subsystem config as JSON + String jsonConfig = service.getJSON("foo"); + + // attempt to create an adapter config instance from the subsystem JSON config + AdapterConfig config = KeycloakDeploymentBuilder.loadAdapterConfig(new ByteArrayInputStream(jsonConfig.getBytes())); + assertThat(config, CoreMatchers.notNullValue()); + + assertThat(config.getSocketTimeout(), CoreMatchers.notNullValue()); + assertThat(config.getSocketTimeout(), CoreMatchers.is(3000L)); + + assertThat(config.getConnectionTimeout(), CoreMatchers.notNullValue()); + assertThat(config.getConnectionTimeout(), CoreMatchers.is(5000L)); + + assertThat(config.getConnectionTTL(), CoreMatchers.notNullValue()); + assertThat(config.getConnectionTTL(), CoreMatchers.is(1000L)); + } + private void addRedirectRewriteRule(PathAddress parent, KeycloakAdapterConfigService service, String key, String value) { PathAddress redirectRewriteAddr = PathAddress.pathAddress(parent, PathElement.pathElement("redirect-rewrite-rule", key)); ModelNode redirectRewriteOp = new ModelNode(); diff --git a/adapters/oidc/wildfly/wildfly-subsystem/src/test/resources/org/keycloak/subsystem/adapter/extension/keycloak-1.2.xml b/adapters/oidc/wildfly/wildfly-subsystem/src/test/resources/org/keycloak/subsystem/adapter/extension/keycloak-1.2.xml index 8f79908f13a..5e6356df7b3 100755 --- a/adapters/oidc/wildfly/wildfly-subsystem/src/test/resources/org/keycloak/subsystem/adapter/extension/keycloak-1.2.xml +++ b/adapters/oidc/wildfly/wildfly-subsystem/src/test/resources/org/keycloak/subsystem/adapter/extension/keycloak-1.2.xml @@ -26,9 +26,9 @@ false true 20 - 2000 - 5000 - 3000 + 2000 + 5000 + 3000 true keys.jks secret @@ -88,9 +88,9 @@ wildfly-management true EXTERNAL - 10000 - 40000 - 50000 + 10000 + 40000 + 50000 preferred_username diff --git a/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/Constants.java b/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/Constants.java index 37011e13d3c..6c11dd68c52 100755 --- a/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/Constants.java +++ b/adapters/saml/as7-eap6/subsystem/src/main/java/org/keycloak/subsystem/saml/as7/Constants.java @@ -93,7 +93,7 @@ public class Constants { static final String TRUSTSTORE_PASSWORD = "truststorePassword"; static final String SOCKET_TIMEOUT = "socketTimeout"; static final String CONNECTION_TIMEOUT = "connectionTimeout"; - static final String CONNECTION_TTL = "connectionTTL"; + static final String CONNECTION_TTL = "connectionTtl"; } static class XML { @@ -175,6 +175,6 @@ public class Constants { static final String TRUSTSTORE_PASSWORD = "truststorePassword"; static final String SOCKET_TIMEOUT = "socketTimeout"; static final String CONNECTION_TIMEOUT = "connectionTimeout"; - static final String CONNECTION_TTL = "connectionTTL"; + static final String CONNECTION_TTL = "connectionTtl"; } } diff --git a/adapters/saml/as7-eap6/subsystem/src/main/resources/org/keycloak/subsystem/saml/as7/LocalDescriptions.properties b/adapters/saml/as7-eap6/subsystem/src/main/resources/org/keycloak/subsystem/saml/as7/LocalDescriptions.properties index 49cac5df3de..89e89aa973d 100755 --- a/adapters/saml/as7-eap6/subsystem/src/main/resources/org/keycloak/subsystem/saml/as7/LocalDescriptions.properties +++ b/adapters/saml/as7-eap6/subsystem/src/main/resources/org/keycloak/subsystem/saml/as7/LocalDescriptions.properties @@ -100,6 +100,6 @@ keycloak-saml.IDP.HttpClient.disableTrustManager=Define if SSL certificate valid keycloak-saml.IDP.HttpClient.proxyUrl=URL to the HTTP proxy, if applicable keycloak-saml.IDP.HttpClient.truststore=Path to the truststore used to validate the IDP certificates keycloak-saml.IDP.HttpClient.truststorePassword=The truststore password -keycloak-saml.IDP.HttpClient.socketTimeout=Timeout for socket waiting for data -keycloak-saml.IDP.HttpClient.connectionTimeout=Timeout for establishing the connection with the remote host -keycloak-saml.IDP.HttpClient.connectionTTL=The connection time to live \ No newline at end of file +keycloak-saml.IDP.HttpClient.socketTimeout=Timeout for socket waiting for data in milliseconds +keycloak-saml.IDP.HttpClient.connectionTimeout=Timeout for establishing the connection with the remote host in milliseconds +keycloak-saml.IDP.HttpClient.connectionTtl=The connection time to live in milliseconds \ No newline at end of file diff --git a/adapters/saml/as7-eap6/subsystem/src/main/resources/schema/wildfly-keycloak-saml_1_4.xsd b/adapters/saml/as7-eap6/subsystem/src/main/resources/schema/wildfly-keycloak-saml_1_4.xsd index 8b8951e1c8a..9150f7a62fd 100644 --- a/adapters/saml/as7-eap6/subsystem/src/main/resources/schema/wildfly-keycloak-saml_1_4.xsd +++ b/adapters/saml/as7-eap6/subsystem/src/main/resources/schema/wildfly-keycloak-saml_1_4.xsd @@ -552,9 +552,9 @@ Defines timeout for establishing the connection with the remote host in milliseconds. - + - Defines the connection time to live. + Defines the connection time to live in milliseconds. diff --git a/adapters/saml/as7-eap6/subsystem/src/test/resources/org/keycloak/subsystem/saml/as7/keycloak-saml-1.4.xml b/adapters/saml/as7-eap6/subsystem/src/test/resources/org/keycloak/subsystem/saml/as7/keycloak-saml-1.4.xml index c055266b80e..65538bef32c 100755 --- a/adapters/saml/as7-eap6/subsystem/src/test/resources/org/keycloak/subsystem/saml/as7/keycloak-saml-1.4.xml +++ b/adapters/saml/as7-eap6/subsystem/src/test/resources/org/keycloak/subsystem/saml/as7/keycloak-saml-1.4.xml @@ -84,7 +84,7 @@ truststore="/tmp/truststore.jks" truststorePassword="trustpwd#*" socketTimeout="6000" - connectionTTL="500" + connectionTtl="500" connectionTimeout="1000" /> diff --git a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/KeycloakSamlAdapterV1QNames.java b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/KeycloakSamlAdapterV1QNames.java index 4c0843e9cf8..c12265fe73e 100644 --- a/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/KeycloakSamlAdapterV1QNames.java +++ b/adapters/saml/core/src/main/java/org/keycloak/adapters/saml/config/parsers/KeycloakSamlAdapterV1QNames.java @@ -93,7 +93,7 @@ public enum KeycloakSamlAdapterV1QNames implements HasQName { ATTR_KEEP_DOM_ASSERTION(null, "keepDOMAssertion"), ATTR_SOCKET_TIMEOUT(null, "socketTimeout"), ATTR_CONNECTION_TIMEOUT(null, "connectionTimeout"), - ATTR_CONNECTION_TTL(null, "connectionTTL"), + ATTR_CONNECTION_TTL(null, "connectionTtl"), UNKNOWN_ELEMENT(""); diff --git a/adapters/saml/core/src/main/resources/schema/keycloak_saml_adapter_1_13.xsd b/adapters/saml/core/src/main/resources/schema/keycloak_saml_adapter_1_13.xsd index 22abd0dc0a5..b0149446985 100644 --- a/adapters/saml/core/src/main/resources/schema/keycloak_saml_adapter_1_13.xsd +++ b/adapters/saml/core/src/main/resources/schema/keycloak_saml_adapter_1_13.xsd @@ -524,9 +524,9 @@ Defines timeout for establishing the connection with the remote host in milliseconds. - + - Defines the connection time to live. + Defines the connection time to live in milliseconds. diff --git a/adapters/saml/core/src/test/resources/org/keycloak/adapters/saml/config/parsers/keycloak-saml-wth-http-client-settings.xml b/adapters/saml/core/src/test/resources/org/keycloak/adapters/saml/config/parsers/keycloak-saml-wth-http-client-settings.xml index f9ba597dfca..a119843baff 100644 --- a/adapters/saml/core/src/test/resources/org/keycloak/adapters/saml/config/parsers/keycloak-saml-wth-http-client-settings.xml +++ b/adapters/saml/core/src/test/resources/org/keycloak/adapters/saml/config/parsers/keycloak-saml-wth-http-client-settings.xml @@ -79,7 +79,7 @@ truststore="ts" truststorePassword="tsp" socketTimeout="6000" connectionTimeout="7000" - connectionTTL="200" + connectionTtl="200" /> diff --git a/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/Constants.java b/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/Constants.java index 13871dd84b4..2e8ea93244f 100755 --- a/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/Constants.java +++ b/adapters/saml/wildfly/wildfly-subsystem/src/main/java/org/keycloak/subsystem/adapter/saml/extension/Constants.java @@ -95,7 +95,7 @@ public class Constants { static final String TRUSTSTORE_PASSWORD = "truststorePassword"; static final String SOCKET_TIMEOUT = "socketTimeout"; static final String CONNECTION_TIMEOUT = "connectionTimeout"; - static final String CONNECTION_TTL = "connectionTTL"; + static final String CONNECTION_TTL = "connectionTtl"; } static class XML { @@ -177,7 +177,7 @@ public class Constants { static final String TRUSTSTORE_PASSWORD = "truststorePassword"; static final String SOCKET_TIMEOUT = "socketTimeout"; static final String CONNECTION_TIMEOUT = "connectionTimeout"; - static final String CONNECTION_TTL = "connectionTTL"; + static final String CONNECTION_TTL = "connectionTtl"; } } diff --git a/adapters/saml/wildfly/wildfly-subsystem/src/main/resources/org/keycloak/subsystem/adapter/saml/extension/LocalDescriptions.properties b/adapters/saml/wildfly/wildfly-subsystem/src/main/resources/org/keycloak/subsystem/adapter/saml/extension/LocalDescriptions.properties index bf670ffd0c6..724fbb62a78 100755 --- a/adapters/saml/wildfly/wildfly-subsystem/src/main/resources/org/keycloak/subsystem/adapter/saml/extension/LocalDescriptions.properties +++ b/adapters/saml/wildfly/wildfly-subsystem/src/main/resources/org/keycloak/subsystem/adapter/saml/extension/LocalDescriptions.properties @@ -101,4 +101,4 @@ keycloak-saml.IDP.HttpClient.truststore=Path to the truststore used to validate keycloak-saml.IDP.HttpClient.truststorePassword=The truststore password keycloak-saml.IDP.HttpClient.socketTimeout=Timeout for socket waiting for data in milliseconds keycloak-saml.IDP.HttpClient.connectionTimeout=Timeout for establishing the connection with the remote host in milliseconds -keycloak-saml.IDP.HttpClient.connectionTTL=The connection time to live \ No newline at end of file +keycloak-saml.IDP.HttpClient.connectionTtl=The connection time to live in milliseconds \ No newline at end of file diff --git a/adapters/saml/wildfly/wildfly-subsystem/src/main/resources/schema/wildfly-keycloak-saml_1_4.xsd b/adapters/saml/wildfly/wildfly-subsystem/src/main/resources/schema/wildfly-keycloak-saml_1_4.xsd index 8b8951e1c8a..9150f7a62fd 100644 --- a/adapters/saml/wildfly/wildfly-subsystem/src/main/resources/schema/wildfly-keycloak-saml_1_4.xsd +++ b/adapters/saml/wildfly/wildfly-subsystem/src/main/resources/schema/wildfly-keycloak-saml_1_4.xsd @@ -552,9 +552,9 @@ Defines timeout for establishing the connection with the remote host in milliseconds. - + - Defines the connection time to live. + Defines the connection time to live in milliseconds. diff --git a/adapters/saml/wildfly/wildfly-subsystem/src/test/resources/org/keycloak/subsystem/adapter/saml/extension/keycloak-saml-1.4.xml b/adapters/saml/wildfly/wildfly-subsystem/src/test/resources/org/keycloak/subsystem/adapter/saml/extension/keycloak-saml-1.4.xml index df0d4d0524e..e7292e7f0b3 100644 --- a/adapters/saml/wildfly/wildfly-subsystem/src/test/resources/org/keycloak/subsystem/adapter/saml/extension/keycloak-saml-1.4.xml +++ b/adapters/saml/wildfly/wildfly-subsystem/src/test/resources/org/keycloak/subsystem/adapter/saml/extension/keycloak-saml-1.4.xml @@ -84,7 +84,7 @@ truststore="/tmp/truststore.jks" truststorePassword="trustpwd#*" socketTimeout="6000" - connectionTTL="130" + connectionTtl="130" connectionTimeout="7000" /> diff --git a/core/src/main/java/org/keycloak/representations/adapters/config/AdapterConfig.java b/core/src/main/java/org/keycloak/representations/adapters/config/AdapterConfig.java index 7058fe85bc9..a358eb392c4 100755 --- a/core/src/main/java/org/keycloak/representations/adapters/config/AdapterConfig.java +++ b/core/src/main/java/org/keycloak/representations/adapters/config/AdapterConfig.java @@ -33,7 +33,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; "use-resource-role-mappings", "enable-cors", "cors-max-age", "cors-allowed-methods", "cors-exposed-headers", "expose-token", "bearer-only", "autodetect-bearer-only", - "connection-pool-size", "socket-timeout", "connection-ttl", "connection-timeout", + "connection-pool-size", "socket-timeout-millis", "connection-ttl-millis", "connection-timeout-millis", "allow-any-hostname", "disable-trust-manager", "truststore", "truststore-password", "client-keystore", "client-keystore-password", "client-key-password", "always-refresh-token", @@ -90,11 +90,11 @@ public class AdapterConfig extends BaseAdapterConfig implements AdapterHttpClien @JsonProperty("verify-token-audience") protected boolean verifyTokenAudience = false; - @JsonProperty("socket-timeout") + @JsonProperty("socket-timeout-millis") protected long socketTimeout = -1L; - @JsonProperty("connection-timeout") + @JsonProperty("connection-timeout-millis") protected long connectionTimeout = -1L; - @JsonProperty("connection-ttl") + @JsonProperty("connection-ttl-millis") protected long connectionTTL = -1L; /** diff --git a/core/src/test/resources/keycloak.json b/core/src/test/resources/keycloak.json index 208d47a904f..4b9279960dd 100644 --- a/core/src/test/resources/keycloak.json +++ b/core/src/test/resources/keycloak.json @@ -6,7 +6,7 @@ "allow-any-hostname": "${allow.any.hostname}", "cors-max-age": 100, "connection-pool-size": "${con.pool.size}", - "socket-timeout": "${socket.timeout.millis}", - "connection-timeout": "${connection.timeout.millis}", - "connection-ttl": "${connection.ttl.millis}" + "socket-timeout-millis": "${socket.timeout.millis}", + "connection-timeout-millis": "${connection.timeout.millis}", + "connection-ttl-millis": "${connection.ttl.millis}" } \ No newline at end of file