Skip to content

Commit 1d64850

Browse files
committed
Ref: CookieUtil 추가 및 관련 코드 개선
1 parent d0d53f0 commit 1d64850

File tree

2 files changed

+34
-13
lines changed

2 files changed

+34
-13
lines changed

src/main/java/com/back/domain/user/service/UserService.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.back.global.exception.ErrorCode;
1515
import com.back.global.security.CurrentUser;
1616
import com.back.global.security.JwtTokenProvider;
17+
import com.back.global.util.CookieUtil;
1718
import jakarta.servlet.http.Cookie;
1819
import jakarta.servlet.http.HttpServletRequest;
1920
import jakarta.servlet.http.HttpServletResponse;
@@ -121,12 +122,13 @@ public UserResponse login(LoginRequest request, HttpServletResponse response) {
121122
userTokenRepository.save(userToken);
122123

123124
// Refresh Token을 HttpOnly 쿠키로 설정
124-
Cookie cookie = new Cookie("refreshToken", refreshToken);
125-
cookie.setHttpOnly(true);
126-
cookie.setSecure(true);
127-
cookie.setPath("/api/auth/refresh");
128-
cookie.setMaxAge((int) jwtTokenProvider.getRefreshTokenExpirationInSeconds());
129-
response.addCookie(cookie);
125+
CookieUtil.addCookie(
126+
response,
127+
"refreshToken",
128+
refreshToken,
129+
(int) jwtTokenProvider.getRefreshTokenExpirationInSeconds(),
130+
"/api/auth"
131+
);
130132

131133
// Access Token을 응답 헤더에 설정
132134
response.setHeader("Authorization", "Bearer " + accessToken);
@@ -147,14 +149,8 @@ public void logout(HttpServletRequest request, HttpServletResponse response) {
147149
// DB에서 Refresh Token 삭제
148150
userTokenRepository.deleteByRefreshToken(refreshToken);
149151

150-
// TODO: 중복 코드 -> 리팩토링 필요
151152
// 쿠키 삭제
152-
Cookie cookie = new Cookie("refreshToken", null);
153-
cookie.setHttpOnly(true);
154-
cookie.setSecure(true);
155-
cookie.setPath("/api/auth/refresh");
156-
cookie.setMaxAge(0);
157-
response.addCookie(cookie);
153+
CookieUtil.clearCookie(response, "refreshToken", "/api/auth");
158154
}
159155

160156
/**
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.back.global.util;
2+
3+
import jakarta.servlet.http.Cookie;
4+
import jakarta.servlet.http.HttpServletResponse;
5+
6+
public class CookieUtil {
7+
8+
public static void addCookie(HttpServletResponse response, String name, String value, int maxAge, String path) {
9+
Cookie cookie = new Cookie(name, value);
10+
cookie.setHttpOnly(true);
11+
cookie.setSecure(true);
12+
cookie.setPath(path);
13+
cookie.setMaxAge(maxAge);
14+
response.addCookie(cookie);
15+
}
16+
17+
public static void clearCookie(HttpServletResponse response, String name, String path) {
18+
Cookie cookie = new Cookie(name, null);
19+
cookie.setHttpOnly(true);
20+
cookie.setSecure(true);
21+
cookie.setPath(path);
22+
cookie.setMaxAge(0);
23+
response.addCookie(cookie);
24+
}
25+
}

0 commit comments

Comments
 (0)