iOS 앱에서 쏘카 WebView를 사용하는 고객들이 앱을 백그라운드로 전환한 후 재진입할 때 로그인이 풀리는 현상이 반복됐다. 원인은 iOS 15+의 메모리 정리 메커니즘이 Expires/Max-Age가 없는 세션 쿠키를 백그라운드 중 삭제한다는 것이었고, 영속 쿠키 전환으로 99.66% 문제를 해소했다.
핵심 포인트- 증상: 앱 백그라운드 전환 후 재진입 시 WebView 세션 소실, 인증 쿠키 사라짐
- 원인: iOS 15+ 백그라운드 메모리 정리 시 Expires/Max-Age 미지정 세션 쿠키 삭제
- 세션 쿠키 vs 영속 쿠키: 세션 쿠키는 앱/브라우저 종료 또는 메모리 정리 시 삭제, 영속 쿠키는 만료 기간까지 유지
- 해결: 인증 쿠키에 Expires 또는 Max-Age 설정 → 영속 쿠키로 전환
- 결과: 해당 이슈 246건/일 → 0.85건/일 수준으로 99.66% 감소
상세 정리- WebView 특성: iOS 네이티브 앱 내 WKWebView는 앱 생명주기와 쿠키 관리가 브라우저와 다름
- iOS 15+ 변화: 백그라운드 전환 시 WKWebView 메모리 정리 과정에서 세션 쿠키 삭제 발생
- 세션 쿠키 정의: Set-Cookie 헤더에 Expires·Max-Age 미지정 시 세션 종료와 함께 만료
- 문제 상황: 인증에 세션 쿠키 사용 → 앱 백그라운드 전환 후 인증 정보 소실 → 재진입 시 로그인 화면
- 영향 범위: iOS 기기 WebView 이용 고객, 앱 백그라운드 전환 빈도가 높은 사용 패턴에서 두드러짐
- 해결 방법: 서버 측 Set-Cookie에 Expires 또는 Max-Age 값 추가하여 영속 쿠키로 변환
- 영속 쿠키 고려사항: 만료 기간 설정에 따른 보안 트레이드오프(세션 탈취 시 유효 기간 연장) 고려 필요
- 정량 검증: 조치 전후 이슈 발생 건수 비교로 효과 정량화 — 246건 → 0.85건/일 평균
- 플랫폼 특성 중요성: 동일한 웹 기술이 iOS WKWebView 환경에서 다르게 동작할 수 있음
왜 읽나iOS WebView 세션 쿠키 소실이라는 흔히 놓치기 쉬운 플랫폼 이슈를 원인·해결·정량 결과까지 명쾌하게 정리한 실전 사례다.