Add multi-layer RIC instance selector
[portal/ric-dashboard.git] / webapp-backend / src / main / java / org / oransc / ric / portal / dashboard / portalapi / PortalAuthManager.java
index e471447..977daf4 100644 (file)
@@ -2,7 +2,7 @@
  * ========================LICENSE_START=================================
  * O-RAN-SC
  * %%
- * Copyright (C) 2019 AT&T Intellectual Property and Nokia
+ * Copyright (C) 2019 AT&T Intellectual Property
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 package org.oransc.ric.portal.dashboard.portalapi;
 
 import java.lang.invoke.MethodHandles;
+import java.lang.reflect.InvocationTargetException;
 import java.util.HashMap;
 import java.util.Map;
 
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 
+import org.onap.portalsdk.core.onboarding.crossapi.IPortalRestCentralService;
 import org.onap.portalsdk.core.onboarding.exception.CipherUtilException;
 import org.onap.portalsdk.core.onboarding.util.PortalApiConstants;
 import org.slf4j.Logger;
@@ -43,18 +45,17 @@ public class PortalAuthManager {
        private final String userIdCookieName;
 
        public PortalAuthManager(final String appName, final String username, final String password,
-                       final String decryptorClassName, final String userCookie)
-                       throws ClassNotFoundException, InstantiationException, IllegalAccessException {
+                       final String decryptorClassName, final String userCookie) throws ClassNotFoundException,
+                       InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {
                credentialsMap = new HashMap<>();
-               // The map keys are hardcoded in EPSDK-FW, no constants are defined :(
-               credentialsMap.put("appName", appName);
-               credentialsMap.put("username", username);
-               credentialsMap.put("password", password);
+               credentialsMap.put(IPortalRestCentralService.CREDENTIALS_APP, appName);
+               credentialsMap.put(IPortalRestCentralService.CREDENTIALS_USER, username);
+               credentialsMap.put(IPortalRestCentralService.CREDENTIALS_PASS, password);
                this.userIdCookieName = userCookie;
                // Instantiate here so configuration errors are detected at app-start time
                logger.debug("ctor: using decryptor class {}", decryptorClassName);
                Class<?> decryptorClass = Class.forName(decryptorClassName);
-               portalSdkDecryptor = (IPortalSdkDecryptor) decryptorClass.newInstance();
+               portalSdkDecryptor = (IPortalSdkDecryptor) decryptorClass.getDeclaredConstructor().newInstance();
        }
 
        /**
@@ -62,6 +63,7 @@ public class PortalAuthManager {
         *         password.
         */
        public Map<String, String> getAppCredentials() {
+               logger.debug("getAppCredentials");
                return credentialsMap;
        }
 
@@ -92,17 +94,18 @@ public class PortalAuthManager {
         * @return User ID if the ECOMP cookie is present and the sign-on process
         *         established a user ID; else null.
         */
-       public String valdiateEcompSso(HttpServletRequest request) {
+       public String validateEcompSso(HttpServletRequest request) {
+               logger.debug("validateEcompSso URI {}", request.getRequestURI());
                // Check ECOMP Portal cookie
                Cookie ep = getCookie(request, PortalApiConstants.EP_SERVICE);
                if (ep == null) {
-                       logger.debug("valdiateEcompSso: cookie not found: {}", PortalApiConstants.EP_SERVICE);
+                       logger.debug("validateEcompSso: cookie not found: {}", PortalApiConstants.EP_SERVICE);
                        return null;
                }
                logger.trace("validateEcompSso: found cookie {}", PortalApiConstants.EP_SERVICE);
                Cookie user = getCookie(request, userIdCookieName);
                if (user == null) {
-                       logger.debug("valdiateEcompSso: cookie not found: {}", userIdCookieName);
+                       logger.debug("validateEcompSso: cookie not found: {}", userIdCookieName);
                        return null;
                }
                logger.trace("validateEcompSso: user cookie {}", userIdCookieName);
@@ -110,7 +113,7 @@ public class PortalAuthManager {
                try {
                        userid = portalSdkDecryptor.decrypt(user.getValue());
                } catch (CipherUtilException e) {
-                       throw new IllegalArgumentException("valdiateEcompSso failed", e);
+                       throw new IllegalArgumentException("validateEcompSso failed", e);
                }
                return userid;
        }