Firebase Authentication、とても便利ですよね。
今回、Firebase Authenticationを使って、Googleログイン
したアカウントに対して、電話番号
を紐付けます。
Firebaseの準備
Fireabse Authの設定方法はこちら。
ログイン方法として、電話番号
とGoogle
を有効
にしておいてください。
googleアカウントでの認証
まずはgoogleアカウントで認証させます。
signInWithPopup
というメソッドを使います。
電話番号での認証
次に、電話番号での認証です。
reCAPTCHA
の設定がちょっとめんどくさいので注意しましょう。
signInWithPhoneNumber
というメソッドを使います。
アカウントに複数の認証プロバイダをリンク
ここまで完了したら、
currentUserに対して、linkAndRetrieveDataWithCredential
というメソッドを使い、アカウントに複数の認証プロバイダをリンクさせることができます。
とても簡単に実装することができました。
2要素認証
とかも簡単に実現できますね。
今回作成したソースコードをgithutbで公開しています。こちらから
(めっちゃ無駄ですが、アーキテクチャとして、Reduxを採用しています。。。
ちょっと前にリリースされたhooks APIに対応した機能を使ってみたくて...)
参考: 公式ドキュメント
以上です。