Policy TestSuite Enabled
[policy/engine.git] / ECOMP-SDK-APP / src / main / java / org / openecomp / portalapp / login / LoginStrategyImpl.java
1 package org.openecomp.portalapp.login;
2
3 import javax.servlet.http.Cookie;
4 import javax.servlet.http.HttpServletRequest;
5 import javax.servlet.http.HttpServletResponse;
6
7 import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
8 import org.openecomp.policy.common.logging.flexlogger.Logger;
9 import org.openecomp.portalsdk.core.auth.LoginStrategy;
10 import org.openecomp.portalsdk.core.onboarding.exception.PortalAPIException;
11 import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;
12 import org.openecomp.portalsdk.core.onboarding.util.PortalApiConstants;
13 import org.openecomp.portalsdk.core.onboarding.util.PortalApiProperties;
14 import org.springframework.web.servlet.ModelAndView;
15
16 public class LoginStrategyImpl extends LoginStrategy {
17         
18         private static final Logger LOGGER      = FlexLogger.getLogger(LoginStrategyImpl.class);
19         
20         @Override
21         public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
22                 //'login' for opensource is same as 'external' login.
23                 return doExternalLogin(request, response);
24         }
25         
26         @Override
27         public String getUserId(HttpServletRequest request) throws PortalAPIException {
28                 // Check ECOMP Portal cookie
29                 if (!isLoginCookieExist(request))
30                         return null;
31
32                 String userid = null;
33                 try {
34                         userid = getUserIdFromCookie(request);
35                 } catch (Exception e) {
36                         LOGGER.error("Exception Occured"+e);
37                 }
38                 return userid;  
39         }
40
41         private static String getUserIdFromCookie(HttpServletRequest request) throws Exception {
42                 String userId = "";
43                 Cookie[] cookies = request.getCookies();
44                 Cookie userIdcookie = null;
45                 if (cookies != null)
46                         for (Cookie cookie : cookies)
47                                 if (cookie.getName().equals(USER_ID))
48                                         userIdcookie = cookie;
49                 if(userIdcookie!=null){
50                         userId = CipherUtil.decrypt(userIdcookie.getValue(),
51                                         PortalApiProperties.getProperty(PortalApiConstants.Decryption_Key));
52                 }
53                 return userId;
54         
55         }
56         
57         private static boolean isLoginCookieExist(HttpServletRequest request) {
58                 Cookie ep = getCookie(request, EP_SERVICE);
59                 return (ep != null);
60         }
61         
62         private static Cookie getCookie(HttpServletRequest request, String cookieName) {
63                 Cookie[] cookies = request.getCookies();
64                 if (cookies != null)
65                         for (Cookie cookie : cookies)
66                                 if (cookie.getName().equals(cookieName))
67                                         return cookie;
68
69                 return null;
70         }
71
72         
73 }