Skip to content

Commit 475d599

Browse files
committed
hotfix(CookieUtils): addCookieToResponse 수정
- SameSite 추가
1 parent 50a4d13 commit 475d599

2 files changed

Lines changed: 17 additions & 10 deletions

File tree

src/main/java/com/dreamypatisiel/devdevdev/global/utils/CookieUtils.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@
1111
import java.nio.charset.StandardCharsets;
1212
import java.util.Arrays;
1313
import java.util.Base64;
14+
import org.springframework.http.HttpHeaders;
15+
import org.springframework.http.ResponseCookie;
1416
import org.springframework.util.ObjectUtils;
1517
import org.springframework.util.SerializationUtils;
1618

17-
public class CookieUtils {
19+
public abstract class CookieUtils {
1820

1921
public static final int DEFAULT_MAX_AGE = 180;
2022
public static final int REFRESH_MAX_AGE = 60 * 60 * 24 * 7;
@@ -27,6 +29,7 @@ public class CookieUtils {
2729
public static final String DEVDEVDEV_DOMAIN = "devdevdev.co.kr";
2830
public static final String ACTIVE = "active";
2931
public static final String INACTIVE = "inactive";
32+
public static final String NONE = "None";
3033

3134

3235
public static Cookie getRequestCookieByName(HttpServletRequest request, String name) {
@@ -48,14 +51,16 @@ public static String getRequestCookieValueByName(HttpServletRequest request, Str
4851

4952
public static void addCookieToResponse(HttpServletResponse response, String name, String value, int maxAge,
5053
boolean isHttpOnly, boolean isSecure) {
51-
Cookie cookie = new Cookie(name, value);
52-
cookie.setPath(DEFAULT_PATH);
53-
cookie.setHttpOnly(isHttpOnly);
54-
cookie.setSecure(isSecure);
55-
cookie.setMaxAge(maxAge);
56-
cookie.setDomain(DEVDEVDEV_DOMAIN);
57-
58-
response.addCookie(cookie);
54+
ResponseCookie accessCookie = ResponseCookie.from(name, value)
55+
.path(DEFAULT_PATH)
56+
.domain(DEVDEVDEV_DOMAIN)
57+
.maxAge(maxAge)
58+
.httpOnly(isHttpOnly)
59+
.secure(isSecure)
60+
.sameSite(NONE)
61+
.build();
62+
63+
response.addHeader(HttpHeaders.SET_COOKIE, accessCookie.toString());
5964
}
6065

6166
// 쿠키를 삭제하려면 클라이언트에게 해당 쿠키가 더 이상 유효하지 않음을 알려야 합니다.

src/test/java/com/dreamypatisiel/devdevdev/global/utils/CookieUtilsTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ void addCookie() {
183183
int maxAge = 100;
184184
boolean isHttpOnly = true;
185185
boolean isSecure = false;
186+
String sameSite = "None";
186187

187188
// when
188189
CookieUtils.addCookieToResponse(response, name, value, maxAge, isHttpOnly, isSecure);
@@ -195,7 +196,8 @@ void addCookie() {
195196
() -> assertThat(cookie.getValue()).isEqualTo(value),
196197
() -> assertThat(cookie.getMaxAge()).isEqualTo(maxAge),
197198
() -> assertThat(cookie.isHttpOnly()).isEqualTo(isHttpOnly),
198-
() -> assertThat(cookie.getSecure()).isEqualTo(isSecure)
199+
() -> assertThat(cookie.getSecure()).isEqualTo(isSecure),
200+
() -> assertThat(cookie.getAttribute("SameSite")).isEqualTo(sameSite)
199201
);
200202
}
201203

0 commit comments

Comments
 (0)