Firebase Authentication について (SMS 認証)

Firebase Authentication の SMS 認証

以前、Firebase Authentication の Google 認証を紹介しましたが、今回は SMS 認証について紹介してみようと思います。


認証の流れとしては、まずユーザの電話番号に SMS を送信します。

SMS に確認コードが書かれているので、ユーザはそのコードをアプリに入力します。

アプリはそのコードを Firebase に送ることで、Firebase ユーザが作成されます。


機能の有効化

Firebase コンソールを開き、画面左のメニューから「Authentication」を選択して下さい。

「ログイン方法」タブを選択し、「ログイン プロバイダ」の一覧から「Google」を選択します。

「有効にする」をオンにして、保存ボタンを押します。

SMS 認証の動作確認には実機が必要となりますが、テスト用の電話番号のところに電話番号と確認コードを入力しておくことで、エミュレータで動作テストすることができます。

その場合、SMS は届かないので、確認コードはここで設定したものを使います。


実装

アプリに「電話番号」の入力欄を用意して下さい。

ユーザがボタンを押したときのコールバックなどで、以下の処理を実行すると、ユーザの電話に SMS が送信されます。

verifyPhoneNumber 関数に、電話番号の文字列を渡します。

なお、電話番号は国際電話の形式 (+(国番号)(番号))にする必要があります。

(例. 090-1234-5678 の場合は、+819012345678)


また、リクエストの処理の結果を受け取るコールバックを以下のように実装します。

onCodeSent メソッドは、ユーザが指定した電話番号に SMS が送られた際に呼ばれます。

これが呼ばれた時、アプリでは確認コードを入力するための入力欄を表示して、ユーザからの入力を待機します。


onVerificationCompleted メソッドは、確認コードを送信せずに即座に認証が完了するケース (即時確認) と、端末が確認コードを受け取った際に自動的に認証が実行されるケース (自動取得) において呼ばれます。

通常は、onCodeSent メソッドが呼ばれます。


確認コード入力

ユーザがSMSで受け取った確認コードを、アプリに入力してもらいます。

ボタンを押したコールバックなどで、以下の処理を実行します。

signInWithCredential 関数が成功すると、Firebase にユーザが作られています。

作られたユーザは、Firebase コンソールの「Authentication」の「ユーザー」画面で確認できます。

識別子が電話のマークになっています。

※掲載内容は、記事公開時点のものです。紹介されているサービス内容は変更される場合がありますので、ご利用の際は事前にサービス提供元等をご確認ください。

銀座ITラボ

銀座ITラボは、FIrebase、iOS/Androidアプリ、AI、クラウドサービス等の技術情報に関する記事を紹介するシンプルメーカーのオウンドメディアです。

0コメント

  • 1000 / 1000