2017-09-19 1 views
0

전화 번호를 통한 인증을 위해 firebase auth에 관한 질문.Firebase Phone Auth를 사용하여 전화 번호를 확인하려면 전체 로그인이 필요합니까?

Google 인증 공급자를 말하기 위해 "전화 제공 업체"를 연결할 수 있는지 궁금합니다. 문서에서 명시 적으로 언급하지는 않습니다. https://firebase.google.com/docs/auth/android/account-linking.

내 머리를 긁적 거리는 점은 기존 공급자 (Google 제공 업체)에 연결하려는 새 공급자 (전화 제공 업체)와 인증을 시작했지만 짧게 중지하려는 경우에 대한 링크 다중 인증 공급자 문서입니다. "FirebaseAuth.signInWithXXX"호출.

그래서 이론 즉, 사용자가 구글을 통해 로그인 할 1.처럼 작동 2. 사용자는 전화 인증 (전화 번호 제공 업체) 개막 (IDP 업체 구글) 것 - 그리고 SMS 메시지를 가져옵니다. 3. SMS는 경우에 따라 자동 검증을 실행해야하며, SMS 메시지 에서 6 자리 코드를 입력해야합니다. 4. 여기서는 FirebaseAuth.signInWithXXX를 호출하는 대신 계정 연결의 문서를 기반으로 대신 FirebaseUser.linkWithCredential (PhoneAuthCredential).

PhoneAuthCredential으로 명시 적으로 로그인하지 않고 전화 번호 확인이 완료된 것으로 간주되는지 궁금합니다.

답변

1

GoogleAuthProvider를 사용하는 기존 사용자, 경우에 따라 PhoneAuthCredential을 연결할 수 있습니다.

Google을 사용하여 사용자를 로그인 한 후. 다음으로 이동합니다. PhoneAuthProvider.getInstance().verifyPhoneNumber(phoneNumber, ...) 이것은 PhoneAuthCredential 또는 확인 ID로 해결됩니다. 그런 다음 SMS 코드를 요청하고 PhoneAuthProvider.getCredential을 통해 PhoneAuthCredential을 인스턴스화 할 수 있습니다.

다음 자격 증명을 현재 사용자에게 연결할 수 있습니다. currentUser.linkWithCredential(phoneAuthCredential)

+0

감사합니다. bojeil! 그것은 실제로 작동합니다. 어떤 이유로 전화 인증이 전화 자격 증명으로 로그인 할 때까지 완료되지 않았다고 확신했습니다. 그러나 전화 신임장으로 로그인하는 바로 그 의미는 새로운 사용자가 전화 번호에 대해 작성되었으며 더 이상 그 전화 신임장을 기존의 다른 사용자와 연결할 수 없음을 의미합니다. 그래서 linkWithCredential 호출이 smsToken (그 자격 증명의 일부)을 확인한 다음 기존 사용자와 연결하기를 바라고 있습니다. 링크가 작동하는지 확인할 수 있습니다. – Elrondy

+0

@bojeil 전화 인증 광고 로그인을 위해 다른 VC를 사용하는 위의 과정을 어떻게 수행 할 수 있습니까? 어떤 쉬운 방법. – MRizwan33

+0

"전화 확인 광고용 VC"란 무엇입니까? – bojeil

관련 문제