From 43a8b858ca2837554a36c121af3680e0d4eecd9e Mon Sep 17 00:00:00 2001 From: Chris Sampson Date: Mon, 28 Nov 2022 10:25:19 +0000 Subject: [PATCH] NIFI-10882 Set credentials for ElasticSearchClientService based on AuthorizationScheme This closes #6722 Signed-off-by: David Handermann --- .../elasticsearch/ElasticSearchClientServiceImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java index 4809b85fd2..ca7c2d306f 100644 --- a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java +++ b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java @@ -249,6 +249,8 @@ public class ElasticSearchClientServiceImpl extends AbstractControllerService im } private RestClient setupClient(final ConfigurationContext context) throws MalformedURLException, InitializationException { + final AuthorizationScheme authorizationScheme = AuthorizationScheme.valueOf(context.getProperty(AUTHORIZATION_SCHEME).getValue()); + final String hosts = context.getProperty(HTTP_HOSTS).evaluateAttributeExpressions().getValue(); final String[] hostsSplit = hosts.split(",\\s*"); this.url = hostsSplit[0]; @@ -261,7 +263,7 @@ public class ElasticSearchClientServiceImpl extends AbstractControllerService im final String apiKey = context.getProperty(API_KEY).getValue(); final Integer connectTimeout = context.getProperty(CONNECT_TIMEOUT).asInteger(); - final Integer readTimeout = context.getProperty(SOCKET_TIMEOUT).asInteger(); + final Integer socketTimeout = context.getProperty(SOCKET_TIMEOUT).asInteger(); final ProxyConfigurationService proxyConfigurationService = context.getProperty(PROXY_CONFIGURATION_SERVICE).asControllerService(ProxyConfigurationService.class); @@ -287,11 +289,11 @@ public class ElasticSearchClientServiceImpl extends AbstractControllerService im } CredentialsProvider credentialsProvider = null; - if (username != null && password != null) { + if (AuthorizationScheme.BASIC == authorizationScheme && username != null && password != null) { credentialsProvider = addCredentials(null, AuthScope.ANY, username, password); } - if (apiKeyId != null && apiKey != null) { + if (AuthorizationScheme.API_KEY == authorizationScheme && apiKeyId != null && apiKey != null) { httpClientBuilder.setDefaultHeaders(Collections.singletonList(createApiKeyAuthorizationHeader(apiKeyId, apiKey))); } @@ -313,7 +315,7 @@ public class ElasticSearchClientServiceImpl extends AbstractControllerService im }) .setRequestConfigCallback(requestConfigBuilder -> { requestConfigBuilder.setConnectTimeout(connectTimeout); - requestConfigBuilder.setSocketTimeout(readTimeout); + requestConfigBuilder.setSocketTimeout(socketTimeout); return requestConfigBuilder; });