[VID-6] Initial rebase push
[vid.git] / epsdk-app-onap / src / main / java / org / openecomp / portalapp / login / LoginStrategyImpl.java
diff --git a/epsdk-app-onap/src/main/java/org/openecomp/portalapp/login/LoginStrategyImpl.java b/epsdk-app-onap/src/main/java/org/openecomp/portalapp/login/LoginStrategyImpl.java
new file mode 100755 (executable)
index 0000000..3c3dcb0
--- /dev/null
@@ -0,0 +1,70 @@
+package org.openecomp.portalapp.login;\r
+\r
+import javax.servlet.http.Cookie;\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import org.openecomp.portalsdk.core.auth.LoginStrategy;\r
+import org.openecomp.portalsdk.core.onboarding.exception.PortalAPIException;\r
+import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;\r
+import org.openecomp.portalsdk.core.onboarding.util.PortalApiConstants;\r
+import org.openecomp.portalsdk.core.onboarding.util.PortalApiProperties;\r
+import org.springframework.web.servlet.ModelAndView;\r
+\r
+public class LoginStrategyImpl extends LoginStrategy {\r
+       \r
+       @Override\r
+       public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {\r
+               //'login' for opensource is same as 'external' login.\r
+               return doExternalLogin(request, response);\r
+       }\r
+       \r
+       @Override\r
+       public String getUserId(HttpServletRequest request) throws PortalAPIException {\r
+               // Check ECOMP Portal cookie\r
+               if (!isLoginCookieExist(request))\r
+                       return null;\r
+\r
+               String userid = null;\r
+               try {\r
+                       userid = getUserIdFromCookie(request);\r
+               } catch (Exception e) {\r
+                       // TODO Auto-generated catch block\r
+                       e.printStackTrace();\r
+               }\r
+               return userid;  \r
+       }\r
+\r
+       private static String getUserIdFromCookie(HttpServletRequest request) throws Exception {\r
+               String userId = "";\r
+               Cookie[] cookies = request.getCookies();\r
+               Cookie userIdcookie = null;\r
+               if (cookies != null)\r
+                       for (Cookie cookie : cookies)\r
+                               if (cookie.getName().equals(USER_ID))\r
+                                       userIdcookie = cookie;\r
+               if(userIdcookie!=null){\r
+                       userId = CipherUtil.decrypt(userIdcookie.getValue(),\r
+                                       PortalApiProperties.getProperty(PortalApiConstants.Decryption_Key));\r
+               }\r
+               return userId;\r
+       \r
+       }\r
+       \r
+       private static boolean isLoginCookieExist(HttpServletRequest request) {\r
+               Cookie ep = getCookie(request, EP_SERVICE);\r
+               return (ep != null);\r
+       }\r
+       \r
+       private static Cookie getCookie(HttpServletRequest request, String cookieName) {\r
+               Cookie[] cookies = request.getCookies();\r
+               if (cookies != null)\r
+                       for (Cookie cookie : cookies)\r
+                               if (cookie.getName().equals(cookieName))\r
+                                       return cookie;\r
+\r
+               return null;\r
+       }\r
+\r
+       \r
+}\r