From d57532cace7ca1201b9042e6c4f6d907bbaf7ba3 Mon Sep 17 00:00:00 2001 From: "waqas.ikram" Date: Thu, 2 Mar 2023 15:03:20 +0000 Subject: Adding Support for http with no basic auth Change-Id: Iafcb73ac70fdf8aeee90037d8e2d274c58312d6a Issue-ID: SO-4086 Signed-off-by: waqas.ikram --- .../sdc/SdcClientConfigurationProvider.java | 22 ++++++++++++++++++---- .../extclients/sdc/SdcPackageProviderImpl.java | 6 +----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcClientConfigurationProvider.java b/so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcClientConfigurationProvider.java index dd47bad..9ef309d 100644 --- a/so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcClientConfigurationProvider.java +++ b/so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcClientConfigurationProvider.java @@ -19,6 +19,7 @@ */ package org.onap.so.cnfm.lcm.bpmn.flows.extclients.sdc; +import static org.apache.commons.lang3.StringUtils.isNotBlank; import java.nio.charset.StandardCharsets; import java.security.GeneralSecurityException; import org.apache.commons.codec.binary.Base64; @@ -26,6 +27,7 @@ import org.onap.so.cnfm.lcm.bpmn.flows.exceptions.BasicAuthConfigException; import org.onap.so.utils.CryptoUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpHeaders; /** * @author Waqas Ikram (waqas.ikram@est.tech) @@ -34,13 +36,15 @@ import org.springframework.context.annotation.Configuration; @Configuration public class SdcClientConfigurationProvider { - @Value("${sdc.username:mso}") + private static final String SERVICE_NAME = "SO-CNFM"; + + @Value("${sdc.username:#{null}}") private String sdcUsername; - @Value("${sdc.password:76966BDD3C7414A03F7037264FF2E6C8EEC6C28F2B67F2840A1ED857C0260FEE731D73F47F828E5527125D29FD25D3E0DE39EE44C058906BF1657DE77BF897EECA93BDC07FA64F}") + @Value("${sdc.password:#{null}}") private String sdcPassword; - @Value("${sdc.key:566B754875657232314F5548556D3665}") + @Value("${sdc.key:#{null}}") private String sdcKey; @Value("${sdc.endpoint:https://sdc-be.onap:8443}") @@ -48,7 +52,7 @@ public class SdcClientConfigurationProvider { private static String basicAuth = null; - public synchronized String getBasicAuth() { + private synchronized String getBasicAuth() { if (basicAuth == null) { try { final String auth = sdcUsername + ":" + CryptoUtils.decrypt(sdcPassword, sdcKey); @@ -61,6 +65,16 @@ public class SdcClientConfigurationProvider { return basicAuth; } + public HttpHeaders getSdcDefaultHttpHeaders() { + final HttpHeaders headers = new HttpHeaders(); + if (isNotBlank(sdcUsername) && isNotBlank(sdcPassword) && isNotBlank(sdcKey)) { + headers.add(HttpHeaders.AUTHORIZATION, getBasicAuth()); + } + headers.add("X-ECOMP-InstanceID", SERVICE_NAME); + headers.add("X-FromAppId", SERVICE_NAME); + return headers; + } + public String getSdcPackageUrl(final String packageId) { return baseUrl + "/sdc/v1/catalog/resources/" + packageId + "/toscaModel"; diff --git a/so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcPackageProviderImpl.java b/so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcPackageProviderImpl.java index 5e69661..91b5118 100644 --- a/so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcPackageProviderImpl.java +++ b/so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcPackageProviderImpl.java @@ -42,7 +42,6 @@ public class SdcPackageProviderImpl implements SdcPackageProvider { private static final Logger logger = LoggerFactory.getLogger(SdcPackageProviderImpl.class); private final SdcClientConfigurationProvider sdcClientConfigurationProvider; private final HttpRestServiceProvider httpServiceProvider; - private static final String SERVICE_NAME = "SO-CNFM"; @Autowired public SdcPackageProviderImpl(final SdcClientConfigurationProvider sdcClientConfigurationProvider, @@ -54,11 +53,8 @@ public class SdcPackageProviderImpl implements SdcPackageProvider { @Override public Optional getSdcResourcePackage(final String packageId) { try { - final HttpHeaders headers = new HttpHeaders(); - headers.add(HttpHeaders.AUTHORIZATION, sdcClientConfigurationProvider.getBasicAuth()); + final HttpHeaders headers = sdcClientConfigurationProvider.getSdcDefaultHttpHeaders(); headers.add(HttpHeaders.ACCEPT, MediaType.APPLICATION_OCTET_STREAM_VALUE); - headers.add("X-ECOMP-InstanceID", SERVICE_NAME); - headers.add("X-FromAppId", SERVICE_NAME); logger.info("Will retrieve resource package with id: {} from SDC", packageId); final String url = sdcClientConfigurationProvider.getSdcPackageUrl(packageId); -- cgit 1.2.3-korg