2017-09-19 1 views
0

電話番号による認証のためのfirebase認証に関する質問。Firebase Phone Authを使用して電話番号を確認するにはフルサインインが必要ですか?

Google認証プロバイダと言うには「電話プロバイダ」をリンクすることが可能かどうか疑問に思っていました。 docs-https://firebase.google.com/docs/auth/android/account-linkingに明示的に言及していません。

私が頭を傷つけていたことは、既存のプロバイダ(Googleプロバイダ)にリンクしたい新しいプロバイダ(電話プロバイダ)で認証を開始することを話していますが、 "FirebaseAuth.signInWithXXX"を呼び出します。ユーザーがGoogle経由でログイン1. のように働くだろう理論的にはそう

(IDPプロバイダグーグル) 2.ユーザーは、電話認証(電話番号・プロバイダー)のキックオフ - とSMSメッセージを取得します。 3. SMSは場合によって自動検証を起動するか、smsメッセージ から6桁のコードをタイプする必要があります。ただし、ここでFirebaseAuth.signInWithXXXを呼び出すのではなく、アカウントリンクのドキュメントに基づいて、 FirebaseUser.linkWithCredential(PhoneAuthCredential)。

PhoneAuthCredentialの明示的なサインインなしで電話番号の確認が完了したと思われるのですか?

答えて

1

既存のユーザー、場合によってはGoogleAuthProviderを持つユーザーにPhoneAuthCredentialをリンクすることができます。

Googleでユーザーにログインした後。 それからPhoneAuthProvider.getInstance().verifyPhoneNumber(phoneNumber, ...) これは、PhoneAuthCredentialまたは検証IDで解決されます。その後、SMSコードを要求し、PhoneAuthProvider.getCredentialを介してPhoneAuthCredentialをインスタンス化することができます。

この資格情報を現在のユーザーにリンクすることができます。currentUser.linkWithCredential(phoneAuthCredential)

+0

ありがとうございました!それは確かに動作します。何らかの理由で私はあなたが電話の資格情報でサインインするまで、電話の確認が完了していないと自分に確信しました。しかし、その電話資格情報でサインインするという行為は、電話番号に対して新しいユーザーが作成され、その電話資格情報を別の既存のユーザーにリンクできなくなったことを意味します。だから私は、linkWithCredential呼び出しが両方とも、その資格情報の一部であるsmsTokenを確認して、それを既存のユーザーにリンクすることを望んでいます。私はリンクが動作することを確認することができます。 – Elrondy

+0

@bojeil私は上記のプロセスをどのように電話検証広告のログインのための別のVCを持つことができますか質問があります。簡単な方法。 – MRizwan33

+0

「VC用電話確認広告」とは何ですか? – bojeil

関連する問題