Firebase Auth의 signInWithRedirect 를 통해 구글 아이디로 로그인을 구현했는데, chrome에서는 정상적으로 잘 동작하지만 safari에서는 동작하지 않았다. 어디서 blocking이 되었는지 찾아보다가, 개발자도구를 살펴보니 signInWithRedirect를 위한 iframe이 응답을 보내지 않고 있다는 사실을 발견했다.

May-22-2023 15-43-39.gif

해당 이유에 대해서 찾아보니 아래와 같은 내용을 발견하였다.

KakaoTalk_Photo_2023-05-22-15-46-44.png

Safari는 서드 파티 스토리지 엑세스를 차단하는 브라우저이기 때문에 따로 연관된 브라우저에 대한 대응책이 필요했다.

Firebase에서 알려준 해결책

아래 링크를 보면 5가지의 해결책을 제공한다. 프로젝트에 적합한 옵션을 사용하면 될 것 같다.

  1. 커스텀 도메인을 authDomain으로 사용하도록 Firebase 구성 업데이트
  2. signInWithPopup()으로 전환
  3. firebaseapp.com에 프록시 인증 요청