SameSite 문제 허용 설정
간단한 예로 외부 도메인에서 나의 도메인으로 POST 로 호출 할 경우 기존 나의 도메인 쿠키가 유지되지 않는 문제.
나의 경우문제 : 나의 도메인 -> 외부도메인 팝업 호출 -> 외부도메인에서 나의 도메인에 결과값을 넣어 POST로 호출
- 이 경우 예전에는 브라우저에 나의 세션쿠키 정보가 남아 있어 누구의 결과값인지 바로 확인가 가능 했으나.
- 크롬 80? 부터는 외부 도메인에서 POST로 호출지 쿠키 정보가 삭제됨.
( SameSite 속성의 기본 값을 "None"에서 "Lax"로 변경한 것 때문)
- 이로인해 세션쿠키가 새로 발급되어 내가 누구인지를 읽어버림
그래서 외부 도메인의 POST 호출을 허용하긴위해서 SameSite ="None"으로 설정해야 합니다.
예시....
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
public CookieSerializer cookieSerializer() {
DefaultCookieSerializer serializer = new DefaultCookieSerializer();
serializer.setCookieName("SESSION");
serializer.setSameSite("None");
serializer.setUseSecureCookie(true);
return serializer;
}
}
단 : None 설정시 http에서는 적용되지 않고 https(SSL) 적용된 경우만 적용이 된다고 합니다. (localhost는 적용됨)
자세한 사항은 제가 참고 했던 사이트를 확인해 주세요. ^^
아 그리고 부트 2.6 부터는 applications.yml 설정이 가능한 것 같습니다.
저는 낮은 버전을 쓰고 있고. 버전을 올릴 수 없는 상태라 ^^
https://shanepark.tistory.com/349
* https://github.com/spring-projects/spring-session/issues/1577
* https://cublip.tistory.com/336
반응형
'개발 > Java, Spring' 카테고리의 다른 글
[JPA] Spring JPA CascadeType 종류 (0) | 2023.08.25 |
---|---|
AOP로 컨트롤러 권한체크하기 (0) | 2023.01.16 |
STS(이클립스) 공백이 자동 제거되어 git 충돌나는 경우 (1) | 2022.10.04 |
이클립스(STS) 프로젝트 익스플로러 폰트 변경 (0) | 2021.11.09 |
Spring Boot Multi Datasource 작성 (0) | 2019.11.15 |