刘帅
2026-09-21 3f45e8fdfa31d7b764d60a7c0cb5dd11944ed418
cloud-server-auth/src/main/java/cn/mb/cloud/auth/controller/UserController.java
@@ -56,8 +56,9 @@
            audit.put("operationName", "账号登录");
            audit.put("requestMethod", "POST");
            audit.put("requestUri", "/oauth/getToken");
            audit.put("requestParams", "username=" + mask(request == null ? null : request.getUsername()));
            audit.put("userAccount", mask(request == null ? null : request.getUsername()));
            audit.put("requestParams", "username=" + (request == null ? null : request.getUsername()));
            // 登录账号是审计追溯字段,不做掩码;密码、token 等敏感字段仍然脱敏。
            audit.put("userAccount", request == null ? null : request.getUsername());
            audit.put("result", success ? "SUCCESS" : "FAIL");
            audit.put("errorMessage", error == null ? null : error.replaceAll("(?i)(password|token)\\s*[:=]\\s*[^,\\s&}]+", "$1=***"));
            audit.put("clientIp", clientIp(httpRequest));
@@ -66,11 +67,6 @@
        } catch (Exception ignored) {
            // 审计链路不可用时绝不能影响认证主流程;客户端会输出 Feign 异常用于告警。
        }
    }
    private String mask(String value) {
        if (value == null || value.length() <= 4) return "***";
        return value.substring(0, 3) + "***" + value.substring(value.length() - 2);
    }
    private String clientIp(HttpServletRequest request) {