javax.servlet.http.Cookie
Cookie 객체에 SameSite 셋팅은 불가능함.
//생성자에 cookieName,value 을 넣어준다
Cookie cookie = new Cookie("cookieName", "value");
//response에 쿠키 set
response.addCookie(cookie);
org.springframework.web.util.CookieGenerator
CookieGenerator 에도 SameSite 셋팅은 불가능함 ㅠ
CookieGenerator cookieGenerator = new CookieGenerator();
cookieGenerator.setCookieName("cookieName");
//response에 쿠키 set
cookieGenerator.addCookie(response, "value");
response에 직접 추가 (구울때 옵션 넣기)
객체에서 셋팅이 불가해서 HttpServletResponse 에 직접 넣어주어야함.
* setHeader 로 할시 기존 셋팅 되어있는 쿠키를 지우고 덮어써버리는 것이니 주의 *
//예시 string (속성은 ; 로 구분된다)
String cookieString = "cookieName=value;domain=.tistory.com;max-age=2592000;path=/;SameSite=None;secure;";
//기존에 있던 다른 쿠키들 없어짐 (덮어 써버림)
response.setHeader("Set-Cookie", cookieString);
//기존에 있던 다른 쿠키 유지 후 추가
response.addHeader("Set-Cookie", cookieString);
일단 쿠키 굽고 filter등에서 일괄로 처리가 가능할까?
Collection<String> cookies = response.getHeader("Set-Cookie");
를 통해 구운 쿠키를 가져와서 foreach로 다시 구워 넣는게 가능하다.
하지만...
1. 의도하지 않은 쿠키까지 영향이 있을지 확인이 필요하고
2. 서블릿 버전이 안맞거나 하면 response.getHeader가 불가능 한 경우도 있다.
참고 : cherish-it.tistory.com/10
명확하게 구울때 넣는게 좋을 것 같다는 의견입니다 :)
'Web' 카테고리의 다른 글
Schemeful Same-Site이슈 대응 및 옵션변경 (Chrome88 업데이트) (0) | 2021.02.21 |
---|---|
SameSite Cookie속성 변경? 정책 3가지/이유/대응 (Chrome80 업데이트) (1) | 2021.02.21 |
WebService 기초지식 (0) | 2021.02.11 |
댓글