Skip to content

Commit cdbe911

Browse files
committed
fix : 쿠키 오류 수정
1 parent 162fef1 commit cdbe911

File tree

4 files changed

+31
-17
lines changed

4 files changed

+31
-17
lines changed

src/main/java/com/dnd/reevserver/domain/member/controller/AuthController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public ResponseEntity<Void> reissueToken(@CookieValue(value = "refresh_token", r
4848

4949

5050

51-
ResponseCookie refreshCookie = CookieUtils.createCookie(
51+
ResponseCookie refreshCookie = CookieUtils.createReissueCookie(
5252
"refresh_token",
5353
reissuedToken.getRefreshToken(),
5454
60 * 60 * 24 * 7);

src/main/java/com/dnd/reevserver/global/jwt/handler/OAuth2LogoutHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import jakarta.servlet.http.HttpServletRequest;
1010
import jakarta.servlet.http.HttpServletResponse;
1111
import lombok.RequiredArgsConstructor;
12+
import org.springframework.http.HttpHeaders;
1213
import org.springframework.http.ResponseCookie;
1314
import org.springframework.security.core.Authentication;
1415
import org.springframework.security.web.authentication.logout.LogoutHandler;
@@ -42,9 +43,8 @@ public void logout(HttpServletRequest request, HttpServletResponse response, Aut
4243
}
4344

4445
// 삭제할 쿠키 생성
45-
ResponseCookie deleteCookie = CookieUtils.deleteCookie(tokenProperties.getRefreshTokenName());
46-
response.addHeader("Authorization", "");
47-
response.addHeader("Set-Cookie", deleteCookie.toString());
46+
CookieUtils.deleteCookie(request, response, "refresh_token");
47+
response.addHeader(HttpHeaders.AUTHORIZATION, "");
4848
refreshTokenService.deleteRefreshToken(userId);
4949
}
5050

src/main/java/com/dnd/reevserver/global/jwt/handler/OAuth2SuccessHandler.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo
3636
String refreshToken = refreshTokenService.getOrCreateRefreshToken(userId);
3737
String accessToken = jwtProvider.createAccessToken(userId);
3838

39-
ResponseCookie refreshCookie = CookieUtils.createCookie(tokenProperties.getRefreshTokenName(), refreshToken, 604800);
40-
response.addHeader(HttpHeaders.SET_COOKIE, refreshCookie.toString());
39+
CookieUtils.addCookie(response, "refresh_token", refreshToken, 60 * 60 * 24 * 7);
4140
response.addHeader(HttpHeaders.AUTHORIZATION, accessToken);
4241

4342
String redirectUrl = getRedirectUrl(request);
Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
11
package com.dnd.reevserver.global.util;
22

3+
import jakarta.servlet.http.Cookie;
4+
import jakarta.servlet.http.HttpServletRequest;
5+
import jakarta.servlet.http.HttpServletResponse;
36
import org.springframework.http.ResponseCookie;
47

58
public class CookieUtils {
69
private CookieUtils() {
710
throw new IllegalStateException("Utility class");
811
}
912

10-
public static ResponseCookie deleteCookie(String name) {
11-
return ResponseCookie.from(name, "")
12-
.secure(true)
13-
.sameSite("None")
14-
.httpOnly(true)
15-
.path("/")
16-
.maxAge(0)
17-
.build();
18-
}
19-
20-
public static ResponseCookie createCookie(String name, String value, int maxAge) {
13+
public static ResponseCookie createReissueCookie(String name, String value, int maxAge) {
2114
return ResponseCookie.from(name, value)
2215
.secure(true)
2316
.sameSite("None")
@@ -26,4 +19,26 @@ public static ResponseCookie createCookie(String name, String value, int maxAge)
2619
.maxAge(maxAge)
2720
.build();
2821
}
22+
23+
public static void addCookie(HttpServletResponse response, String name, String value, int maxAge) {
24+
Cookie cookie = new Cookie(name, value);
25+
cookie.setPath("/");
26+
cookie.setHttpOnly(true);
27+
cookie.setMaxAge(maxAge);
28+
response.addCookie(cookie);
29+
}
30+
31+
public static void deleteCookie(HttpServletRequest request, HttpServletResponse response, String name) {
32+
Cookie[] cookies = request.getCookies();
33+
if (cookies != null) {
34+
for (Cookie cookie : cookies) {
35+
if (cookie.getName().equals(name)) {
36+
cookie.setValue("");
37+
cookie.setPath("/");
38+
cookie.setMaxAge(0);
39+
response.addCookie(cookie);
40+
}
41+
}
42+
}
43+
}
2944
}

0 commit comments

Comments
 (0)