diff --git a/common/src/main/java/com/mfsys/common/configuration/filter/LoggingFilter.java b/common/src/main/java/com/mfsys/common/configuration/filter/LoggingFilter.java index 0eb2170..305898d 100644 --- a/common/src/main/java/com/mfsys/common/configuration/filter/LoggingFilter.java +++ b/common/src/main/java/com/mfsys/common/configuration/filter/LoggingFilter.java @@ -64,7 +64,13 @@ public class LoggingFilter extends OncePerRequestFilter { log.setDateTime(startTime); log.setMethod(request.getMethod()); log.setRequestUri(request.getRequestURI()); - log.setRequestBody(requestBody); + if("/aconnect/authentication/login".equals(request.getRequestURI()) || "/aconnect/signin".equals(request.getRequestURI())){ + String maskedBody = maskPassword(requestBody); + log.setRequestBody(maskedBody); + + }else{ + log.setRequestBody(requestBody); + } log.setRemoteIp(request.getRemoteAddr()); log.setResponseCode(response.getStatus()); @@ -110,4 +116,16 @@ public class LoggingFilter extends OncePerRequestFilter { return "Error reading request body: " + e.getMessage(); } } + + private String maskPassword(String jsonString) { + if (jsonString == null || !jsonString.contains("password")) { + return jsonString; + } + + // Simple regex approach + return jsonString.replaceAll( + "(\"password\"\\s*:\\s*\")[^\"]*(\")", + "$1********$2" + ); + } }