org.onap migration
[vid.git] / epsdk-app-onap / src / main / java / org / onap / portalapp / login / LoginStrategyImpl.java
1 package org.onap.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                 }
49                 return userId;
50         
51         }
52         
53         private static boolean isLoginCookieExist(HttpServletRequest request) {
54                 Cookie ep = getCookie(request, EP_SERVICE);
55                 return (ep != null);
56         }
57         
58         private static Cookie getCookie(HttpServletRequest request, String cookieName) {
59                 Cookie[] cookies = request.getCookies();
60                 if (cookies != null)
61                         for (Cookie cookie : cookies)
62                                 if (cookie.getName().equals(cookieName))
63                                         return cookie;
64
65                 return null;
66         }
67
68         
69 }