Closed jiisuniui closed 3 weeks ago
이 Set-Cookie 헤더는 속성을 지정하지 않았습니다.
속성을 지정하지 않았으며 기본값은
"SameSite=Lax"로 기본 설정되어 있으며 최상위 탐색에 대한 응답이 아닌 교차 사이트 응답에서 왔기 때문에 차단되었습니다.
설정 쿠키는 다음과 같이 설정되어야 했습니다.
"SameSite=None"으로 설정해야 교차 사이트 사용을 활성화할 수 있습니다.
Cookie cookie = new Cookie(REFRESH_TOKEN_HEADER, refreshToken);
cookie.setMaxAge(24*60*60);
cookie.setSecure(true);
cookie.setPath("/");
cookie.setHttpOnly(true);
response.addCookie(jwtUtil.addRefreshTokenToCookie(refreshToken));
ResponseCookie cookie = ResponseCookie.from(REFRESH_TOKEN_HEADER, refreshToken)
.path("/")
.sameSite("None")
.httpOnly(true)
.secure(true)
//.maxAge(maxAge)
.build();
response.addHeader("Set-Cookie", jwtUtil.addRefreshTokenToCookie(refreshToken).toString());
Cookie[] cookies = req.getCookies();
if (cookies != null) {
System.out.println("yes cookieeeeeeeee");
for (Cookie cookie : cookies) {
if (cookie.getName().equals("Refresh")) {
refreshToken = cookie.getValue();
}
}
} else {
System.out.println("no cookieeeeeeeee");
}
cookie가 null이 받아짐
response.addHeader("Set-Cookie", ...)
를 사용하여 쿠키를 설정했을 때, 클라이언트 측에서 해당 쿠키가 제대로 전송되지 않아 req.getCookies()
에서 가져올 수 없는 문제는 여러 가지 원인으로 발생할 수 있습니다. req.getCookies()
가 예상한 대로 쿠키를 반환하지 않는 이유를 이해하고, 문제를 해결하기 위해 다음의 점들을 확인해야 합니다.
req.getCookies()
가 null
을 반환할 수 있는지Set-Cookie
헤더가 사용되지 않았을 수 있습니다.SameSite=None
속성을 사용할 때는 반드시 Secure
속성이 true
로 설정되어 있어야 합니다. 이 조건이 맞지 않으면 브라우저에서 쿠키를 무시할 수 있습니다.Secure
속성이 설정된 경우, 쿠키는 HTTPS 연결에서만 전송됩니다.
작업사항
설명