Fix encoding/decoding issue 09/128309/1
authorvasraz <vasyl.razinkov@est.tech>
Wed, 13 Apr 2022 11:50:49 +0000 (12:50 +0100)
committerVasyl Razinkov <vasyl.razinkov@est.tech>
Tue, 19 Apr 2022 09:42:25 +0000 (09:42 +0000)
Change-Id: If7a770548702cb9e6bb2d9e866c99c0396f74ee4
Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech>
Issue-ID: SDC-3967
(cherry picked from commit eb8de3664309f577362df7710d6cd93d00a734e2)

catalog-be/src/main/java/org/openecomp/sdc/be/servlets/UserAdminServlet.java
utils/webseal-simulator/src/main/java/org/openecomp/sdc/webseal/simulator/SdcProxy.java

index 2e96b0b..7580911 100644 (file)
@@ -30,8 +30,6 @@ import io.swagger.v3.oas.annotations.servers.Server;
 import io.swagger.v3.oas.annotations.servers.Servers;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tags;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.List;
 import javax.servlet.http.HttpServletRequest;
@@ -66,7 +64,6 @@ import org.springframework.stereotype.Controller;
 @Controller
 public class UserAdminServlet extends BeGenericServlet {
 
-    private static final String UTF_8 = "UTF-8";
     private static final String ROLE_DELIMITER = ",";
     private static final Logger log = Logger.getLogger(UserAdminServlet.class);
     private final UserBusinessLogic userBusinessLogic;
@@ -160,12 +157,7 @@ public class UserAdminServlet extends BeGenericServlet {
         @ApiResponse(responseCode = "500", description = "Internal Server Error")})
     @PermissionAllowed(AafPermission.PermNames.INTERNAL_ALL_VALUE)
     public User authorize(@HeaderParam(value = Constants.USER_ID_HEADER) String userId, @HeaderParam("HTTP_CSP_FIRSTNAME") String firstName,
-                          @HeaderParam("HTTP_CSP_LASTNAME") String lastName, @HeaderParam("HTTP_CSP_EMAIL") String email)
-        throws UnsupportedEncodingException {
-        userId = userId != null ? URLDecoder.decode(userId, UTF_8) : null;
-        firstName = firstName != null ? URLDecoder.decode(firstName, UTF_8) : null;
-        lastName = lastName != null ? URLDecoder.decode(lastName, UTF_8) : null;
-        email = email != null ? URLDecoder.decode(email, UTF_8) : null;
+                          @HeaderParam("HTTP_CSP_LASTNAME") String lastName, @HeaderParam("HTTP_CSP_EMAIL") String email) {
         User authUser = new User();
         authUser.setUserId(userId);
         authUser.setFirstName(firstName);
index 0637f7e..10a6bb8 100644 (file)
 
 package org.openecomp.sdc.webseal.simulator;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLEncoder;
@@ -204,7 +205,7 @@ public class SdcProxy extends HttpServlet {
         return contextPaths;
     }
 
-    private String getUri(HttpServletRequest request, Map<String, String[]> requestParameters) throws UnsupportedEncodingException {
+    private String getUri(HttpServletRequest request, Map<String, String[]> requestParameters) {
         String suffix = request.getRequestURI();
         if (getContextPaths().stream().anyMatch(request.getRequestURI()::contains)) {
             suffix = alignUrlProxy(suffix);
@@ -316,7 +317,7 @@ public class SdcProxy extends HttpServlet {
         return SDC1 + requestURI;
     }
 
-    private StringBuilder alignUrlParameters(Map<String, String[]> requestParameters) throws UnsupportedEncodingException {
+    private StringBuilder alignUrlParameters(Map<String, String[]> requestParameters) {
         final var query = new StringBuilder();
         for (final Entry<String, String[]> entry : requestParameters.entrySet()) {
             for (final String value : entry.getValue()) {
@@ -325,7 +326,7 @@ public class SdcProxy extends HttpServlet {
                 } else {
                     query.append("&");
                 }
-                query.append(String.format("&%s=%s", URLEncoder.encode(entry.getKey(), "UTF-8"), URLEncoder.encode(value, "UTF-8")));
+                query.append(String.format("&%s=%s", URLEncoder.encode(entry.getKey(), UTF_8), URLEncoder.encode(value, UTF_8)));
             }
         }
         return query;