[Crossdomain] Chrome SamSite 기본값 변경 에 따른 Cookie 설정

Jinbro·2022년 5월 17일
0

Spring

목록 보기
4/5

문제인식

크로스도메인 사이트 화면 이동 > 재진입 (redirect) 시, Cookie 값이 변경되어 로그인 처리 불가

  • AOS : request header에 Cookie 없음 => response header Set-Cookie 설정되어 SESSION 변경
  • IOS : request header에 Cookie 정상 확인 => Set-Cookie, SESSION 동일

원인

Chrome SameSite 기본값 Lax 변경에 따라
크로스 사이트 http 요청 시, Cookie 전송에 제한 사항 생김.

  • Chrome : 2020년 02년 04월 80 version 배포
  • Safari : 변경 X
  • None : SamSite 탄생하기 전 Cookie 동작 방식과 동일
  • Strict : 크로스 사이트 요청 시, Cookie 전송 X
  • Lax : POST, DELETE (안전하지 않은) 요청 시, Cookie 전송 X (기본값)

SamSite None 설정 시, 필수 정책

  • Secure 속성 적용 필수
  • Secure Cookie는 https 적용된 요청에만 전송된다.

sample source : https 외부망 테스트만 가능

@ConditionOnProperty(name = "spring.application.name", havingValue = APP_NAME)
@Bean
public CookieSerializer cookieSerializer() {
	DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
	cookieSerializer.setUserSecureCookie(true);
    cookieSerializer.setSamSite("None");
}

해결

  • AOS request header Cookie 정상 확인 : SamSite "None" 설정 + Cookie "Secure" 속성 적용

참고

브라우저 쿠키와 SameSite 속성

profile
자기 개발 기록 저장소

0개의 댓글