Skip to content

Commit 4eda121

Browse files
authored
Merge pull request #29 from MT-TEAM-Org/feat/PH-97
PENDING 상태인 경우 리프레시 토큰만 발급하도록 하는 코드 재수정
2 parents 3558458 + bad2f10 commit 4eda121

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/main/java/org/myteam/server/global/security/filter/JwtAuthenticationFilter.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,17 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR
8383
log.info("successfulAuthentication > publicId : {}", publicId);
8484
log.info("successfulAuthentication > status : {}", status);
8585

86+
Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
87+
Iterator<? extends GrantedAuthority> iterator = authorities.iterator();
88+
GrantedAuthority auth = iterator.next();
89+
8690
if (status.equals(PENDING.name())) {
8791
log.warn("PENDING 상태인 경우 로그인이 불가능합니다");
92+
// X-Refresh-Token
93+
String refreshToken = jwtProvider.generateToken(TOKEN_CATEGORY_REFRESH, Duration.ofHours(24), publicId, auth.getAuthority(), status);
94+
String cookieValue = URLEncoder.encode("Bearer " + refreshToken, StandardCharsets.UTF_8);
95+
96+
response.addCookie(createCookie(REFRESH_TOKEN_KEY, cookieValue, TOKEN_REISSUE_PATH, 5 * 60, true));
8897
sendErrorResponse(response, HttpStatus.LOCKED, "PENDING 상태인 경우 로그인이 불가능합니다");
8998
return;
9099
} else if (status.equals(INACTIVE.name())) {
@@ -97,10 +106,6 @@ protected void successfulAuthentication(HttpServletRequest request, HttpServletR
97106
return;
98107
}
99108

100-
Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
101-
Iterator<? extends GrantedAuthority> iterator = authorities.iterator();
102-
GrantedAuthority auth = iterator.next();
103-
104109
// 권한 획득
105110
String role = auth.getAuthority();
106111

src/main/java/org/myteam/server/oauth2/handler/CustomOauth2SuccessHandler.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,7 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo
7070
String refreshToken = jwtProvider.generateToken(TOKEN_CATEGORY_REFRESH, Duration.ofDays(7), member.getPublicId(), member.getRole().name(), member.getStatus().name());
7171
String cookieValue = URLEncoder.encode("Bearer " + refreshToken, StandardCharsets.UTF_8);
7272

73-
// redirect 순간 Header 값 날아감
74-
// response.addHeader(ACCESS_TOKEN_KEY, "Bearer " + accessToken);
75-
response.addCookie(createCookie(REFRESH_TOKEN_KEY, cookieValue, TOKEN_REISSUE_PATH, 24 * 60 * 60, true));
76-
response.addCookie(createCookie(REFRESH_TOKEN_KEY, cookieValue, LOGOUT_PATH, 24 * 60 * 60, true));
73+
response.addCookie(createCookie(REFRESH_TOKEN_KEY, cookieValue, TOKEN_REISSUE_PATH, 5 * 60, true));
7774
response.sendRedirect(frontUrl + "?status=" + status);
7875
return;
7976
} else if (status.equals(INACTIVE.name())) {

0 commit comments

Comments
 (0)