fix(auth): 로그인 IP를 X-Forwarded-For 헤더에서 추출 #17

병합
htlee feature/wing-proxy 에서 develop 로 1 commits 를 머지했습니다 2026-02-16 23:50:59 +09:00

파일 보기

@ -24,7 +24,6 @@ import lombok.extern.slf4j.Slf4j;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.Authentication;
@ -85,7 +84,7 @@ public class AuthController {
activityService.recordLogin(
userWithRoles.getId(),
httpRequest.getRemoteAddr(),
resolveClientIp(httpRequest),
httpRequest.getHeader("User-Agent"));
String token = jwtTokenProvider.generateToken(
@ -143,4 +142,16 @@ public class AuthController {
newUser.updateLastLogin();
return userRepository.save(newUser);
}
private String resolveClientIp(HttpServletRequest request) {
String xff = request.getHeader("X-Forwarded-For");
if (xff != null && !xff.isBlank()) {
return xff.split(",")[0].trim();
}
String realIp = request.getHeader("X-Real-IP");
if (realIp != null && !realIp.isBlank()) {
return realIp.trim();
}
return request.getRemoteAddr();
}
}