From 01c1f63050182689f3a2cd189298f330a5165979 Mon Sep 17 00:00:00 2001 From: nayonsoso Date: Sun, 17 Aug 2025 23:45:09 +0900 Subject: [PATCH 1/4] =?UTF-8?q?style:=20=EB=B6=88=ED=95=84=EC=9A=94?= =?UTF-8?q?=ED=95=9C=20=EA=B0=9C=ED=96=89=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 두 줄이 개행되어있었다. --- .../auth/controller/RefreshTokenCookieManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java b/src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java index d36cca024..3aadcb84f 100644 --- a/src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java +++ b/src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java @@ -72,4 +72,3 @@ public String getRefreshToken(HttpServletRequest request) { return refreshToken; } } - From 737046213da42406dfe670394e96f25987123497 Mon Sep 17 00:00:00 2001 From: nayonsoso Date: Sun, 17 Aug 2025 23:46:33 +0900 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20SameSite=EB=A5=BC=20Lax?= =?UTF-8?q?=EB=A1=9C=20=EA=B3=A0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/controller/RefreshTokenCookieManager.java | 3 ++- .../auth/controller/RefreshTokenCookieManagerTest.java | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java b/src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java index 3aadcb84f..7c6f4ec04 100644 --- a/src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java +++ b/src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java @@ -10,6 +10,7 @@ import jakarta.servlet.http.HttpServletResponse; import java.util.Arrays; import lombok.RequiredArgsConstructor; +import org.springframework.boot.web.server.Cookie.SameSite; import org.springframework.http.HttpHeaders; import org.springframework.http.ResponseCookie; import org.springframework.stereotype.Component; @@ -46,7 +47,7 @@ private void setRefreshTokenCookie( .path(PATH) .maxAge(maxAge) .domain(properties.cookieDomain()) - .sameSite(properties.sameSite()) + .sameSite(SameSite.LAX.attributeValue()) .build(); response.addHeader(HttpHeaders.SET_COOKIE, cookie.toString()); } diff --git a/src/test/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManagerTest.java b/src/test/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManagerTest.java index 677cd5854..a5924b860 100644 --- a/src/test/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManagerTest.java +++ b/src/test/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManagerTest.java @@ -19,6 +19,7 @@ import org.junit.jupiter.params.provider.ValueSource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.boot.web.server.Cookie.SameSite; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; @@ -34,13 +35,11 @@ class RefreshTokenCookieManagerTest { @MockBean private RefreshTokenCookieProperties refreshTokenCookieProperties; - private final String sameSite = "Strict"; private final String domain = "example.com"; @BeforeEach void setUp() { given(refreshTokenCookieProperties.cookieDomain()).willReturn(domain); - given(refreshTokenCookieProperties.sameSite()).willReturn(sameSite); } @Test @@ -62,7 +61,7 @@ void setUp() { () -> assertThat(header).contains("Path=/"), () -> assertThat(header).contains("Max-Age=" + TokenType.REFRESH.getExpireTime() / 1000), () -> assertThat(header).contains("Domain=" + domain), - () -> assertThat(header).contains("SameSite=" + sameSite) + () -> assertThat(header).contains("SameSite=" + SameSite.LAX.attributeValue()) ); } @@ -84,7 +83,7 @@ void setUp() { () -> assertThat(header).contains("Path=/"), () -> assertThat(header).contains("Max-Age=0"), () -> assertThat(header).contains("Domain=" + domain), - () -> assertThat(header).contains("SameSite=" + sameSite) + () -> assertThat(header).contains("SameSite=" + SameSite.LAX.attributeValue()) ); } From 42ca6bba092306207da575e306015e3141bdbf81 Mon Sep 17 00:00:00 2001 From: nayonsoso Date: Sun, 17 Aug 2025 23:46:56 +0900 Subject: [PATCH 3/4] =?UTF-8?q?refactor:=20Domain=EC=97=90=20=EB=94=B0?= =?UTF-8?q?=EB=9D=BC=20SameSite=EB=B6=84=EA=B8=B0=ED=95=98=EB=8D=98=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/RefreshTokenCookieProperties.java | 11 ------ .../RefreshTokenCookiePropertiesTest.java | 35 ------------------- 2 files changed, 46 deletions(-) delete mode 100644 src/test/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookiePropertiesTest.java diff --git a/src/main/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookieProperties.java b/src/main/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookieProperties.java index 1fa47d884..ce6588f14 100644 --- a/src/main/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookieProperties.java +++ b/src/main/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookieProperties.java @@ -1,21 +1,10 @@ package com.example.solidconnection.auth.controller.config; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.web.server.Cookie.SameSite; @ConfigurationProperties(prefix = "token.refresh") public record RefreshTokenCookieProperties( String cookieDomain ) { - public String sameSite() { - if (isDomainSet()) { - return SameSite.STRICT.attributeValue(); // 도메인을 지정한 경우 SameSite=Strict - } - return SameSite.NONE.attributeValue(); // 도메인을 지정하지 않은 경우 SameSite=None - } - - private boolean isDomainSet() { - return cookieDomain != null && !cookieDomain.isBlank(); - } } diff --git a/src/test/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookiePropertiesTest.java b/src/test/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookiePropertiesTest.java deleted file mode 100644 index 0a62541b1..000000000 --- a/src/test/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookiePropertiesTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.example.solidconnection.auth.controller.config; - -import static org.assertj.core.api.Assertions.assertThat; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.springframework.boot.web.server.Cookie.SameSite; - -@DisplayName("리프레시 토큰 쿠키 설정 테스트") -class RefreshTokenCookiePropertiesTest { - - @Test - void Domain을_지정했으면_SameSite가_Strict() { - // given - RefreshTokenCookieProperties properties = new RefreshTokenCookieProperties("example.com"); - - // when - String sameSite = properties.sameSite(); - - // then - assertThat(sameSite).isEqualTo(SameSite.STRICT.attributeValue()); - } - - @Test - void Domain을_지정하지_않았으면_SameSite가_None() { - // given - RefreshTokenCookieProperties properties = new RefreshTokenCookieProperties(null); - - // when - String sameSite = properties.sameSite(); - - // then - assertThat(sameSite).isEqualTo(SameSite.NONE.attributeValue()); - } -} From 647c4377af81b98e782939ea52b16ec1fc3ae6a9 Mon Sep 17 00:00:00 2001 From: nayonsoso Date: Sun, 17 Aug 2025 23:57:05 +0900 Subject: [PATCH 4/4] =?UTF-8?q?chore:=20=EC=84=9C=EB=B8=8C=EB=AA=A8?= =?UTF-8?q?=EB=93=88=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/secret | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/secret b/src/main/resources/secret index 0e9f5d0ce..bb3bf0f41 160000 --- a/src/main/resources/secret +++ b/src/main/resources/secret @@ -1 +1 @@ -Subproject commit 0e9f5d0cefabab1ab9a306099b457225ce5d641e +Subproject commit bb3bf0f4122d10ddacab279a368cf9f06d6f6dbd