私は、ユーザーが自分の電話番号にサインアップしてから自分のメールアドレスとパスワードを追加する方法を探しています。
しかし、ユーザーがログインすると、電子メールとパスワードでのみログインします。Firebaseの認証に電子メールと電話番号を使用することはできますか?
電話番号はセキュリティ上の理由からです。
私は、ユーザーが自分の電話番号にサインアップしてから自分のメールアドレスとパスワードを追加する方法を探しています。
しかし、ユーザーがログインすると、電子メールとパスワードでのみログインします。Firebaseの認証に電子メールと電話番号を使用することはできますか?
電話番号はセキュリティ上の理由からです。
電話認証で作成されたユーザアカウントにメールとパスワードをリンクすることはできますが、次回のログイン時にFirebase Authは2因子認証を強制しません。ユーザは(email /パスワードまたは電話)を使用する必要はありません。 これに独自のカスタムソリューションを実装する必要があります。 FirebaseサポートまたはFirebase Google Groupから2因子認証のリクエストを提出してください。
電話番号を確認してアカウントにリンクし、次回のログインを必要としない場合は、メールとパスワードを使用してユーザーを作成した後、電話番号を問い合わせてください:
[[FIRPhoneAuthProvider provider] verifyPhoneNumber:phoneNumber ...]
検証IDで解決します。その後、SMSコードを取得した後、電話認証資格情報を初期化します。
FIRPhoneAuthCredential *credential = [[FIRPhoneAuthProvider provider] credentialWithVerificationID:verificationID verificationCode:verificationCode];
[[[FIRAuth auth] currentUser] linkWithCredential:credential]
電話の資格情報を使用してCurrentUserに上。これにより、その電話番号が電子メール/パスワードユーザーに追加されます。それが検証されたと考えることができます。次回に電子メール/パスワードでサインインすると、user.phoneNumber経由でアクセスできます。
実際には、彼は自分のメールアドレスを入力してパスした後初めて自分の電話番号を確認するだけです。その後、彼は自分のメールアドレスとパスワードのみを使用します。 –
私の答えは更新されました。うまくいけばあなたの質問に答えます。 – bojeil
ありがとうございました –