Skip to content

Commit 0a1d61e

Browse files
committed
[fix] : RT만 가지고 AT,RT 재발급 #36
1 parent 716c146 commit 0a1d61e

File tree

3 files changed

+4
-47
lines changed

3 files changed

+4
-47
lines changed

src/main/java/org/dfbf/soundlink/domain/user/service/UserService.java

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -312,35 +312,16 @@ public ResponseResult getProfile(String tag) {
312312
}
313313
}
314314

315-
// 토큰 재발급
315+
// 토큰 재발급(리프레시토큰만 가지고 재발급)
316316
public ResponseResult reissueToken(HttpServletRequest request, HttpServletResponse response) {
317-
String accessToken = jwtProvider.resolveAccessToken(request);
318-
String refreshToken = jwtProvider.resolveRefreshToken(request);
319-
320-
log.info("Old AccessToken: " + accessToken);
321-
log.info("Old RefreshToken: " + refreshToken);
322-
323-
// AccessToken과 RefreshToken이 모두 없는 경우
324-
if (accessToken == null && refreshToken == null) {
325-
logout(response,request);
326-
return new ResponseResult(ErrorCode.TOKEN_INVALID, "토큰이 존재하지 않거나 만료되었습니다.");
327-
}
328317

329-
if (accessToken == null) {
330-
logout(response,request);
331-
return new ResponseResult(ErrorCode.TOKEN_INVALID, "AT가 존재하지 않거나 만료되었습니다.");
332-
}
318+
String refreshToken = jwtProvider.resolveRefreshToken(request);
333319

334320
if (refreshToken == null) {
335321
logout(response,request);
336322
return new ResponseResult(ErrorCode.TOKEN_INVALID, "RT가 존재하지 않거나 만료되었습니다.");
337323
}
338324

339-
// // AccessToken 유효성 확인
340-
// if (jwtProvider.validateToken(accessToken)) {
341-
// return new ResponseResult(ErrorCode.TOKEN_NOT_EXPIRED); // 유효한 액세스 토큰: 재발급 x
342-
// }
343-
344325
// RefreshToken 유효성 확인
345326
if (jwtProvider.validateToken(refreshToken)) {
346327
Long userId = jwtProvider.getUserId(refreshToken);
@@ -353,9 +334,6 @@ public ResponseResult reissueToken(HttpServletRequest request, HttpServletRespon
353334
String newAccessToken = jwtProvider.createAccessToken(userId);
354335
String newRefreshToken = jwtProvider.createRefreshToken(userId);
355336

356-
log.info("New AccessToken: " + newAccessToken);
357-
log.info("New RefreshToken: " + newRefreshToken);
358-
359337
//레디스에 새로운 리프레시 토큰 업데이트!
360338
tokenService.updateRefreshToken(userId, newRefreshToken);
361339

@@ -364,7 +342,7 @@ public ResponseResult reissueToken(HttpServletRequest request, HttpServletRespon
364342

365343
Map<String, String> responseBody = new HashMap<>();
366344
responseBody.put("accessToken", newAccessToken);
367-
// response.setHeader("Set-Cookie", newRefreshToken);
345+
368346

369347
return new ResponseResult(ErrorCode.SUCCESS, responseBody);
370348
} else {

src/main/java/org/dfbf/soundlink/global/auth/JwtAuthenticationFilter.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,7 @@ protected void doFilterInternal(HttpServletRequest request, HttpServletResponse
3333
throw new JwtException("Invalid token");
3434
}
3535

36-
// // 3. 만료 여부 검사
37-
// if (jwtProvider.isTokenExpired(accessToken)) {
38-
// throw new ExpiredJwtException(null, null, "Token expired");
39-
// }
40-
41-
// 4. 유저정보 저장
36+
// 3. 유저정보 저장
4237
this.setAuthentication(accessToken);
4338
}
4439
filterChain.doFilter(request, response); // 필터 체인 진행(전달)

src/main/java/org/dfbf/soundlink/global/auth/JwtProvider.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -83,22 +83,6 @@ public boolean validateToken(String token) {
8383
}
8484
}
8585

86-
public boolean isTokenExpired(String token) {
87-
try {
88-
Jwts.parserBuilder()
89-
.setSigningKey(SECRET_KEY)
90-
.build()
91-
.parseClaimsJws(token); // 만료된 토큰을 처리하려면 ExpiredJwtException이 발생함
92-
return false; // 만료되지 않으면 false
93-
} catch (ExpiredJwtException ex) {
94-
System.out.println("[Error]:Token is expired");
95-
return true; // 만료된 경우 true
96-
} catch (Exception ex) {
97-
return false; // 다른 예외는 false
98-
}
99-
}
100-
101-
10286
//액세스토큰 추출
10387
public String resolveAccessToken(HttpServletRequest request) {
10488
String bearerToken = request.getHeader("Authorization"); //토큰을 헤더에 포함했는지

0 commit comments

Comments
 (0)