Skip to content

Commit 5f05f6c

Browse files
authored
Merge pull request #274 from CodIN-INU/develop
fix : Cookie 삭제시 Domain, Attribute 추가
2 parents 83a2e3e + 26296d6 commit 5f05f6c

1 file changed

Lines changed: 29 additions & 13 deletions

File tree

src/main/java/inu/codin/codin/common/security/service/JwtService.java

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class JwtService {
3636
private final CustomUserDetailsService userDetailsService;
3737

3838
@Value("${server.domain}")
39-
private String BASERURL;
39+
private String BASEURL;
4040

4141
private final String REFRESH_TOKEN = "x-refresh-token";
4242
private final String ACCESS_TOKEN = "Authorization";
@@ -125,7 +125,7 @@ private void createBothToken(HttpServletResponse response) {
125125
newAccessToken.setSecure(true);
126126
newAccessToken.setPath("/");
127127
newAccessToken.setMaxAge(10 * 24 * 60 * 60); // 10일
128-
newAccessToken.setDomain(BASERURL.split("//")[1]);
128+
newAccessToken.setDomain(BASEURL.split("//")[1]);
129129
newAccessToken.setAttribute("SameSite", "None");
130130
response.addCookie(newAccessToken);
131131

@@ -135,7 +135,7 @@ private void createBothToken(HttpServletResponse response) {
135135
newRefreshToken.setSecure(true);
136136
newRefreshToken.setPath("/");
137137
newRefreshToken.setMaxAge(10 * 24 * 60 * 60); // 10일
138-
newRefreshToken.setDomain(BASERURL.split("//")[1]);
138+
newRefreshToken.setDomain(BASEURL.split("//")[1]);
139139
newRefreshToken.setAttribute("SameSite", "None");
140140
response.addCookie(newRefreshToken);
141141

@@ -159,21 +159,37 @@ public void deleteToken(HttpServletResponse response) {
159159
}
160160

161161
private void deleteCookie(HttpServletResponse response) {
162+
163+
String domain = BASEURL.replaceFirst("https?://", "").split(":")[0];
164+
log.info("[deleteCookie] BASEURL={}, domain={}", BASEURL, domain);
165+
162166
Cookie refreshCookie = new Cookie(REFRESH_TOKEN, "");
163167
refreshCookie.setHttpOnly(true);
164168
refreshCookie.setSecure(true);
165169
refreshCookie.setPath("/");
166-
refreshCookie.setMaxAge(0); // 7일
170+
refreshCookie.setDomain(domain);
171+
refreshCookie.setMaxAge(0);
172+
refreshCookie.setAttribute("SameSite","None");
167173
response.addCookie(refreshCookie);
168-
log.info("[deleteToken] Refresh Cookie 삭제 완료");
169-
170-
Cookie AccessCookie = new Cookie("x-access-token", "");
171-
AccessCookie.setHttpOnly(true);
172-
AccessCookie.setSecure(true);
173-
AccessCookie.setPath("/");
174-
AccessCookie.setMaxAge(0);
175-
response.addCookie(AccessCookie);
176-
log.info("[deleteToken] Access Cookie 삭제 완료");
174+
175+
log.info("[deleteCookie] refreshCookie info => name={}, domain={}, path={}, secure={}, httpOnly={}, maxAge={}, sameSite=None",
176+
refreshCookie.getName(), refreshCookie.getDomain(), refreshCookie.getPath(),
177+
refreshCookie.getSecure(), refreshCookie.isHttpOnly(), refreshCookie.getMaxAge());
178+
179+
Cookie accessCookie = new Cookie("x-access-token", "");
180+
accessCookie.setHttpOnly(true);
181+
accessCookie.setSecure(true);
182+
accessCookie.setPath("/");
183+
accessCookie.setDomain(domain);
184+
accessCookie.setMaxAge(0);
185+
refreshCookie.setAttribute("SameSite","None");
186+
response.addCookie(accessCookie);
187+
188+
log.info("[deleteCookie] accessCookie info => name={}, domain={}, path={}, secure={}, httpOnly={}, maxAge={}, sameSite=None",
189+
accessCookie.getName(), accessCookie.getDomain(), accessCookie.getPath(),
190+
accessCookie.getSecure(), accessCookie.isHttpOnly(), accessCookie.getMaxAge());
191+
192+
log.info("[deleteToken] Access/Refresh Cookie 삭제 완료");
177193
}
178194

179195
public void setAuthentication(HttpServletRequest request){

0 commit comments

Comments
 (0)