Skip to content

Commit b489fd3

Browse files
committed
fix: dev(stage) 환경의 refreshToken 쿠키 이름 분리
- prod와 stage가 동일한 쿠키 도메인을 공유하여 발생하는 로그인 충돌 문제 해결 - 쿠키 이름을 환경별로 분리할 수 있도록 cookie-name 설정 추가
1 parent 78928a1 commit b489fd3

4 files changed

Lines changed: 7 additions & 3 deletions

File tree

src/main/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManager.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
@RequiredArgsConstructor
2121
public class RefreshTokenCookieManager {
2222

23-
private static final String COOKIE_NAME = "refreshToken";
2423
private static final String PATH = "/";
2524

2625
private final RefreshTokenCookieProperties properties;
@@ -44,7 +43,7 @@ public void deleteCookie(HttpServletResponse response) {
4443
private void setRefreshTokenCookie(
4544
HttpServletResponse response, String refreshToken, long maxAge
4645
) {
47-
ResponseCookie cookie = ResponseCookie.from(COOKIE_NAME, refreshToken)
46+
ResponseCookie cookie = ResponseCookie.from(properties.cookieName(), refreshToken)
4847
.httpOnly(true)
4948
.secure(true)
5049
.path(PATH)
@@ -64,7 +63,7 @@ public String getRefreshToken(HttpServletRequest request) {
6463

6564
// refreshToken 쿠키가 없는 경우 예외 발생
6665
Cookie refreshTokenCookie = Arrays.stream(cookies)
67-
.filter(cookie -> COOKIE_NAME.equals(cookie.getName()))
66+
.filter(cookie -> properties.cookieName().equals(cookie.getName()))
6867
.findFirst()
6968
.orElseThrow(() -> new CustomException(REFRESH_TOKEN_NOT_EXISTS));
7069

src/main/java/com/example/solidconnection/auth/controller/config/RefreshTokenCookieProperties.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
@ConfigurationProperties(prefix = "token.refresh")
66
public record RefreshTokenCookieProperties(
7+
String cookieName,
78
String cookieDomain
89
) {
910

src/main/resources/config/application-variable.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ sentry:
8181

8282
token:
8383
refresh:
84+
cookie-name: "refreshToken"
8485
cookie-domain: ".solid-connection.com"
8586

8687
---
@@ -118,6 +119,7 @@ sentry:
118119

119120
token:
120121
refresh:
122+
cookie-name: "stageRefreshToken"
121123
cookie-domain: ".stage.solid-connection.com"
122124

123125
---
@@ -152,4 +154,5 @@ sentry:
152154

153155
token:
154156
refresh:
157+
cookie-name: "refreshToken"
155158
cookie-domain: "localhost"

src/test/java/com/example/solidconnection/auth/controller/RefreshTokenCookieManagerTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ class RefreshTokenCookieManagerTest {
3838

3939
@BeforeEach
4040
void setUp() {
41+
given(refreshTokenCookieProperties.cookieName()).willReturn(REFRESH_TOKEN_COOKIE_NAME);
4142
given(refreshTokenCookieProperties.cookieDomain()).willReturn(domain);
4243
}
4344

0 commit comments

Comments
 (0)