From dc4c345d35399cee022ed39d43daa3d04941af8f Mon Sep 17 00:00:00 2001 From: Hyojin Ahn Date: Fri, 28 Nov 2025 13:22:28 -0500 Subject: [PATCH] =?UTF-8?q?[Token]=20=ED=86=A0=ED=81=B0=EC=97=90=20loginId?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80.=20=EA=B8=B0=EB=B3=B8=20username=EC=9D=84?= =?UTF-8?q?=20loginid=20=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/config/JwtAuthenticationFilter.java | 12 ++++++------ .../java/com/goi/erp/config/JwtService.java | 19 ++++--------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/goi/erp/config/JwtAuthenticationFilter.java b/src/main/java/com/goi/erp/config/JwtAuthenticationFilter.java index 244377e..28bdc9b 100644 --- a/src/main/java/com/goi/erp/config/JwtAuthenticationFilter.java +++ b/src/main/java/com/goi/erp/config/JwtAuthenticationFilter.java @@ -73,12 +73,12 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { // JWT 유효성 검증 + DB 토큰 검증 if (jwtService.isTokenValid(jwt, employee) && isTokenValid) { - UsernamePasswordAuthenticationToken authToken = - new UsernamePasswordAuthenticationToken( - employeeDetails, - null, - employeeDetails.getAuthorities() - ); + UsernamePasswordAuthenticationToken authToken = + new UsernamePasswordAuthenticationToken( + employee.getEmpLoginId(), // principal → loginId + null, + employeeDetails.getAuthorities() + ); authToken.setDetails( new WebAuthenticationDetailsSource().buildDetails(request) ); diff --git a/src/main/java/com/goi/erp/config/JwtService.java b/src/main/java/com/goi/erp/config/JwtService.java index f8c4229..886c92b 100644 --- a/src/main/java/com/goi/erp/config/JwtService.java +++ b/src/main/java/com/goi/erp/config/JwtService.java @@ -57,6 +57,7 @@ public class JwtService { // 직원 이름 추가 extraClaims.put("firstName", employee.getEmpFirstName()); extraClaims.put("lastName", employee.getEmpLastName()); + extraClaims.put("loginId", employee.getEmpLoginId()); return buildToken(extraClaims, employee.getEmpUuid().toString(), jwtExpiration); } @@ -78,6 +79,7 @@ public class JwtService { // 직원 이름 추가 extraClaims.put("firstName", employee.getEmpFirstName()); extraClaims.put("lastName", employee.getEmpLastName()); + extraClaims.put("loginId", employee.getEmpLoginId()); return buildToken(extraClaims, employee.getEmpUuid().toString(), refreshExpiration); } @@ -113,26 +115,13 @@ public class JwtService { public static void main(String[] args) { JwtService jwtService = new JwtService(); - jwtService.secretKey = "D0HaHnTPKLkUO9ULL1Ulm6XDZjhzuFtvTCcxTxSoCS8="; + jwtService.secretKey = ""; - String token = "eyJhbGciOiJIUzI1NiJ9.eyJwZXJtaXNzaW9ucyI6WyJIOlI6UCIsIk86QzpBIiwiTzpSOkEiLCJPOlU6QSIsIk86RDpBIiwiUzpDOkEiLCJTOlI6QSIsIlM6VTpBIl0sInJvbGVzIjpbIk9wZXJhdGlvbnMgTWFuYWdlciJdLCJzdWIiOiJmZGE1NGZkZS03MTBmLTQ4ZDItYTRmYi00NzM2YjJhM2RhNWEiLCJpYXQiOjE3NjMxMzU4MzMsImV4cCI6MTc2MzIyMjIzM30.ie38b2JnkP3k4Vz7TzAwI7oRgOsIFYf0yMYADq5EhNM"; + String token = ""; // user 정보 Claims claims = jwtService.extractAllClaims(token); - System.out.println("Subject (emp_uuid): " + claims.getSubject()); - System.out.println("Roles: " + claims.get("roles")); - System.out.println("Roles: " + claims.get("permissions")); - System.out.println("IssuedAt: " + claims.getIssuedAt()); - System.out.println("Expiration: " + claims.getExpiration()); - - // 모든 Claims 확인 -// Claims claims = Jwts.parserBuilder() -// .setSigningKey(Keys.hmacShaKeyFor("".getBytes())) -// .build() -// .parseClaimsJws(token) -// .getBody(); - System.out.println("Claims: " + claims); } }