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); } }