Java를 사용하여 쿠키에 SameSite 속성 추가
6193 단어 Java
개요
javax.servlet.http.쿠키에는 SameSite 속성에 대한 API가 첨부되어 있지 않습니다.
그때의 대응이야.
참고로 SameSite 속성은 거의 모든 브라우저에서 지원됩니다.
참고 자료
쿠키 레벨 사용 안 함, Set-Cookie 헤드 사용
Spring boot을 사용해 보십시오.
@RestController
public class DemoController {
@GetMapping(value = "/")
public String index(HttpServletResponse response) {
String name = "name";
String value = "takeshi";
String cookie = String.format("%s=%s; max-age=3600; Path=/; HttpOnly; Secure; SameSite=Lax;", name, value);
response.addHeader("Set-Cookie", cookie);
return "hello, world!";
}
태키시로 무사히 들어갔습니다.
스프링 부트 편
스프링부트에는 리스폰스 쿠키라는 제목을 만들기 위한 쿠키 문자열을 만드는 클래스가 있다.
이 레벨을 사용하면 Set-Cookie에서 설정한 응답을 반환하면 쿠키가 설정됩니다.
@RestController
public class DemoController {
@GetMapping(value = "/")
public String index(HttpServletRequest request, HttpServletResponse response) {
String name = "name";
String value = "takeshi";
ResponseCookie cookie = ResponseCookie.from(name, value).domain("localhost").maxAge(Duration.ofDays((long) 1))
.httpOnly(true).secure(true).sameSite("Strict").build();
response.addHeader("Set-Cookie", cookie.toString());
return "Hello, World";
}
}
쿠키 쓰기가 빈번하면 매개 변수로 설정된 사용자 정의 클래스를 만드는 것이 좋습니다.
또는 Apache와nginx 같은 웹 서버 측면에서 통일적으로 설정할 수도 있습니다.
참고 자료
참고 자료
Class Cookie
https://stackoverflow.com/questions/42717210/samesite-cookie-in-java-application
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
Class ResponseCookie
Reference
이 문제에 관하여(Java를 사용하여 쿠키에 SameSite 속성 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nannou/items/fc86d052e356e095fcbf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)