8월, 2024의 게시물 표시

[iOS18 Beta] WkWebView Cookies 못 가져오는 현상 (SameSite default Lax 변경)

이미지
  [iOS18 Beta] WkWebView Cookies 못 가져오는 현상 (SameSite default Lax 변경) 안녕하세요 물먹고하자 입니다 :) iOS18 대응하고 있는중에 WkWebView 에서 Cookies 값을 못가져가는 현상이 있어서 해결했던 부분 공유드립니다.   이슈발생   (이미지1) iOS18 Beta, (이미지2) iOS17 정식버전 해당 부분의 코드의 상황설명을 덧붙이자면 API 통신 후 전달받은 HtmlString 값을 WkWebView에 넣어주는 화면 (거기에서도 iframe으로 Redirect가 되는 특정 화면) 저희기준의 인증에러가 발생 하였고,  Nginx 로그를 확인했을때도 Cookies 값이 들어오지 않은걸로 확인됨.   이슈찾는과정 WkWebView 영역임으로 Safari 개발자 모드를 통해 디버그 하기 시작. (참고 : [iOS] WebKit 개발자모드 디버깅하기 ) 디버깅통해서 호출시에도 확실하게 401 인증에러 발생 하는걸 확인 iOS18 약속된 Cookies값 3개 들어가있는걸 확인 iOS17 동일하게 약속된 Cookies값 들어있음. (로드 후 추가 쿠키도 확인) 나는 Cookies를 줬고 <-------> 상대는 Cookies를 못받은 상황 (누구의 잘못인가.. 누가 가로챌일도 아니고 생각하다가) 두개 이미지를 계속보다가 끝자락에 SameSite 정보값이 틀린걸 확인 iOS 18 SameSite 검색 하다가 발견한 내용 SameSite 설정 값 "Strict" > "Lax" > "none" SameSite 설정값이 3가지 인데, 기존에는 "none" 이 default 였는데 iOS18부터 "Lax"가 default로 변경 위의 이미지랑 Cookies 값 대조해도 변경된걸 확인 테스트로 iOS17에서 SameSite "Lax"로 설정하니 iOS18과 동일하게 나오는걸