Safari에서 쿠키 미저장 문제 해결: ITP 정책과 도메인 통합 전략

🤖 AI 추천

이 콘텐츠는 백엔드 개발자 및 프론트엔드 개발자를 대상으로 하며, 특히 웹 보안, 쿠키 처리, 브라우저 간 호환성 문제 해결 경험이 적은 주니어 개발자에게 유용합니다. 또한, 여러 서브도메인이나 외부 서비스와 연동되는 복잡한 프로젝트를 진행하는 미들 레벨 이상의 개발자에게도 인사이트를 제공할 수 있습니다.

🔖 주요 키워드

Safari에서 쿠키 미저장 문제 해결: ITP 정책과 도메인 통합 전략

핵심 기술

이 글은 Safari 브라우저에서 HTTP-ONLY 속성이 적용된 Access Token 및 Refresh Token 쿠키가 저장되지 않아 로그인에 실패하는 문제를 다룹니다. 이는 주로 Apple의 Intelligent Tracking Prevention(ITP) 정책과 SameSite 쿠키 속성의 상호작용으로 인해 발생하며, 도메인 통합을 통해 해결하는 과정을 설명합니다.

기술적 세부사항

  • 문제 상황: Safari에서 HTTP-ONLY 쿠키에 Access TokenRefresh Token을 저장하려 할 때 쿠키가 저장되지 않아 로그인 실패
  • 쿠키의 도메인 종속성: 쿠키는 생성된 도메인에 종속되며, 기본적으로 해당 도메인에서만 접근 가능
  • SameSite 옵션:
    • Strict: 같은 도메인에서만 사용 가능
    • Lax: 같은 도메인에서 사용 가능하며, 링크 클릭 등 특정 조건에서 다른 도메인에서도 사용 가능
    • None: 다른 도메인에서도 사용 가능 (HTTPS 필요)
    • 프로젝트에서는 SameSite=None 설정으로 프론트엔드와 백엔드 도메인 불일치 문제를 해결하려 함
  • Apple의 ITP(Intelligent Tracking Prevention) 정책:
    • 사용자 행동 추적 억제 및 보안 강화를 위한 Safari 기능
    • 서드파티 쿠키 완전 차단, 미방문 도메인 쿠키/로컬 저장소 차단 등
    • ITP 2.0은 first-party를 제외한 쿠키 차단
  • 발생 원인: 프론트엔드(chipsatbooks.vercel.app)와 백엔드(chipsat.shop) 도메인이 달라 Safari는 이를 서드파티 요청으로 간주하고 ITP 정책에 따라 쿠키 저장을 차단함
  • 해결 방법: 커스텀 도메인을 구매하여 프론트엔드와 백엔드 도메인을 통합 (예: www.wowGood.comapi.wowGood.com)
  • 결과: 도메인 통합 후 Safari 환경에서 쿠키가 정상적으로 저장되어 로그인 성공

개발 임팩트

  • Safari를 포함한 다양한 브라우저 환경에서의 웹 애플리케이션 호환성 확보
  • 쿠키 작동 방식, SameSite 속성, 브라우저 보안 정책(ITP)에 대한 깊이 있는 이해
  • 크로스 도메인 통신 및 인증 시 발생할 수 있는 문제점 예측 및 해결 능력 향상
  • 웹 보안 전반에 대한 개발자의 이해도 증진

커뮤니티 반응

원문에는 구체적인 커뮤니티 반응이 언급되지 않았으나, 유사한 문제에 대한 논의는 Stack Overflow와 같은 개발자 커뮤니티에서 활발히 이루어지고 있습니다. 특히 SameSite=None 사용 시 Secure 속성이 필수이며, HTTPS 환경에서만 정상 작동한다는 점 등이 주요 논의 사항입니다.

톤앤매너

기술적 문제 해결 과정을 상세하고 논리적으로 설명하며, 개발자가 실제 경험할 수 있는 난관과 그 해결책을 명확하게 제시하는 전문적인 톤을 유지합니다.

📚 관련 자료