Adding Support for http with no basic auth 28/133528/1
authorwaqas.ikram <waqas.ikram@est.tech>
Thu, 2 Mar 2023 15:03:20 +0000 (15:03 +0000)
committerwaqas.ikram <waqas.ikram@est.tech>
Thu, 2 Mar 2023 15:03:22 +0000 (15:03 +0000)
Change-Id: Iafcb73ac70fdf8aeee90037d8e2d274c58312d6a
Issue-ID: SO-4086
Signed-off-by: waqas.ikram <waqas.ikram@est.tech>
so-cnfm/so-cnfm-lcm/so-cnfm-lcm-bpmn-flows/src/main/java/org/onap/so/cnfm/lcm/bpmn/flows/extclients/sdc/SdcClientConfigurationProvider.java
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 dd47bad..9ef309d 100644 (file)
@@ -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";
 
index 5e69661..91b5118 100644 (file)
@@ -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<byte[]> 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);