[REACT NATIVE] FIREBASE 전화번호 로그인 iOS reCAPTCHA blank 문제

테크33·2022년 3월 4일
0

react native

목록 보기
7/11
post-thumbnail

현재 진행하고 있는 프로젝트에서 Firebase 전화번호 로그인을 사용하고 있는데,
react native 버전을 올리면서 프로젝트를 다시 세팅하던 중 기존 전화번호 로그인이 작동하지 않는 문제가 발생했다.

전화번호를 인증하면 reCAPTCHA 로 넘어가는데 이후 redirect 되지 못하고 이렇게 blank 화면이 유지되어 로그인이 되지 않았다. stackoverflow에 같은 문제가 있어 여러가지 방법을 적용해보았다.

https://stackoverflow.com/questions/50540418/blank-page-after-recaptcha-verification-authenticate-with-firebase-on-ios-using

우선 objective-c 는 건드리기 싫어서 다른 항목들부터 체크해보았다.

  1. 혹시 xcode에서 reverse-client-id를 urlschemes에 잘못 입력: 아님

  2. backgroundMode capability에서 background fetch 체크했는가?: 했음

  3. 빌드폴더 전부 초기화 후 다시 실행: 똑같이 안됨

그래서 recaptcha의 callback 을 직접 redirect 해주는 코드를 추가해야한다는 답변을 참고하여
AppDelegate.m에 아래와 같이 코드를 추가했다.

...

- (BOOL) application: (UIApplication *) app
         openURL: (NSURL *) url
         options: (NSDictionary <UIApplicationOpenURLOptionsKey, id> *)
           options {
          if ([[FIRAuth auth] canHandleURL: url]) {
               return YES;
           } else {
           // URL not auth related, developer should handle it.
              return NO;
      }
 }
 
 ...
 end

아래 코드를 추가하니 로그인이 정상적으로 작동되었다!

0개의 댓글