Policy 1707 commit to LF
[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.portalsdk.core.auth.LoginStrategy;
8 import org.openecomp.portalsdk.core.onboarding.exception.PortalAPIException;
9 import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;
10 import org.openecomp.portalsdk.core.onboarding.util.PortalApiConstants;
11 import org.openecomp.portalsdk.core.onboarding.util.PortalApiProperties;
12 import org.springframework.web.servlet.ModelAndView;
13
14 public class LoginStrategyImpl extends LoginStrategy {
15         
16         @Override
17         public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
18                 //'login' for opensource is same as 'external' login.
19                 return doExternalLogin(request, response);
20         }
21         
22         @Override
23         public String getUserId(HttpServletRequest request) throws PortalAPIException {
24                 // Check ECOMP Portal cookie
25                 if (!isLoginCookieExist(request))
26                         return null;
27
28                 String userid = null;
29                 try {
30                         userid = getUserIdFromCookie(request);
31                 } catch (Exception e) {
32                         // TODO Auto-generated catch block
33                         e.printStackTrace();
34                 }
35                 return userid;  
36         }
37
38         private static String getUserIdFromCookie(HttpServletRequest request) throws Exception {
39                 String userId = "";
40                 Cookie[] cookies = request.getCookies();
41                 Cookie userIdcookie = null;
42                 if (cookies != null)
43                         for (Cookie cookie : cookies)
44                                 if (cookie.getName().equals(USER_ID))
45                                         userIdcookie = cookie;
46                 if(userIdcookie!=null){
47                         userId = CipherUtil.decrypt(userIdcookie.getValue(),
48                                         PortalApiProperties.getProperty(PortalApiConstants.Decryption_Key));
49                 }
50                 return userId;
51         
52         }
53         
54         private static boolean isLoginCookieExist(HttpServletRequest request) {
55                 Cookie ep = getCookie(request, EP_SERVICE);
56                 return (ep != null);
57         }
58         
59         private static Cookie getCookie(HttpServletRequest request, String cookieName) {
60                 Cookie[] cookies = request.getCookies();
61                 if (cookies != null)
62                         for (Cookie cookie : cookies)
63                                 if (cookie.getName().equals(cookieName))
64                                         return cookie;
65
66                 return null;
67         }
68
69         
70 }