* ===================================================================
* Modifications Copyright (c) 2019 Samsung
* ===================================================================
+ * Modification Copyright © 2020 IBM.
+ * ===================================================================
*
* Unless otherwise specified, all software contained herein is licensed
* under the Apache License, Version 2.0 (the "License");
import javax.servlet.http.HttpServletResponse;
import org.onap.portalapp.controller.EPRestrictedRESTfulBaseController;
+import org.onap.portalapp.music.conf.MusicSession;
+import org.onap.portalapp.music.util.MusicUtil;
import org.onap.portalapp.portal.domain.EPApp;
import org.onap.portalapp.portal.domain.EPRole;
+import org.onap.portalapp.portal.domain.EPServiceCookie;
import org.onap.portalapp.portal.domain.EPUser;
import org.onap.portalapp.portal.logging.aop.EPAuditLog;
import org.onap.portalapp.portal.service.AdminRolesService;
import org.onap.portalapp.portal.utils.EcompPortalUtils;
import org.onap.portalapp.portal.utils.PortalConstants;
import org.onap.portalapp.validation.DataValidator;
-import org.onap.portalapp.validation.SecureString;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.onap.portalsdk.core.onboarding.crossapi.PortalAPIResponse;
+import org.onap.portalsdk.core.onboarding.util.CipherUtil;
+import org.onap.portalsdk.core.util.SystemProperties;
import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
private EPRoleService epRoleService;
@ApiOperation(value = "Creates a Portal user notification for roles identified in the content from an external application.", response = PortalAPIResponse.class)
- @RequestMapping(value = { "/publishNotification" }, method = RequestMethod.POST, produces = "application/json")
+ @PostMapping(value = { "/publishNotification" }, produces = "application/json")
@ResponseBody
public PortalAPIResponse publishNotification(HttpServletRequest request,
@RequestBody EpNotificationItem notificationItem) throws Exception {
}
@ApiOperation(value = "Gets favorite items within the functional menu for the current user.", response = FavoritesFunctionalMenuItemJson.class, responseContainer="List")
- @RequestMapping(value = { "/getFavorites" }, method = RequestMethod.GET, produces = "application/json")
+ @GetMapping(value = { "/getFavorites" }, produces = "application/json")
public List<FavoritesFunctionalMenuItemJson> getFavoritesForUser(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String loginId = "";
}
@ApiOperation(value = "Gets functional menu items appropriate for the current user.", response = FunctionalMenuItem.class, responseContainer="List")
- @RequestMapping(value = {
- "/functionalMenuItemsForUser" }, method = RequestMethod.GET, produces = "application/json")
+ @GetMapping(value = {
+ "/functionalMenuItemsForUser" }, produces = "application/json")
public List<FunctionalMenuItem> getFunctionalMenuItemsForUser(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String loginId = "";
logger.warn(EELFLoggerDelegate.errorLogger, "Handling bad request", e);
response.sendError(HttpStatus.BAD_REQUEST.value(), e.getMessage());
}
+
+ @EPAuditLog
+ @PostMapping(value = { "/validateCookie" })
+ public boolean validateCookie(@RequestBody EPServiceCookie epServiceCookie, HttpServletRequest request) throws Exception {
+ Map<String,String> epServiceCookieValueMap = epServiceCookie.getValue();
+ if(epServiceCookieValueMap!=null) {
+ String multifactorauthfrontendurl = SystemProperties.getProperty("frontend_url");
+ String encryptedJSessionId = epServiceCookieValueMap.get(multifactorauthfrontendurl);
+ if(encryptedJSessionId != null) {
+ String jSessionId = CipherUtil.decryptPKC(encryptedJSessionId);
+ if(jSessionId != null) {
+ if(jSessionId.equals(request.getSession().getId())) {
+ if(MusicUtil.isMusicEnable()) {
+ MusicSession musicSession = new MusicSession();
+ String sessionId = musicSession.getAttribute(encryptedJSessionId);
+ logger.info(EELFLoggerDelegate.errorLogger, "Music sessionid : "+sessionId);
+ return (sessionId != null);
+ } else {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ }
}