Firebase 電話番号の確認

Firebase Phone Number VerificationFirebase PNV)は、ユーザーの電話番号を確認するための高速で安全な方法です。SMS ベースの確認では、ユーザーがテキスト メッセージからコードを受け取って入力する必要がありますが、Firebase PNV はデバイスのハードウェアと携帯通信会社と連携して、1 回のタップで確認を可能にします。この方法では、ユーザーの不便を軽減し、信頼性を高め(配信されないことが多い SMS メッセージを使用しないため)、SMS の使用時に一般的に悪用される不正使用のベクトルを排除します。

主な機能

携帯通信会社が信頼できる情報源である場合 Firebase PNV を使用すると、Google は SIM の確認済みの電話番号を加入者から直接取得し、アプリを現在実行しているデバイスの番号を通知します。SMS OTP では、ユーザーが電話番号にアクセスできるかどうかしか確認できません。
スタンドアロンで使用するか、ID プロバイダと併用する Firebase PNV は、単独で簡単に統合できる信頼性の高い電話番号確認方法として使用することも、Firebase Authentication または独自の認証システムと組み合わせてログイン方法として使用することもできます。
利用可能な運送業者を自動的に使用する Firebase PNV が特定のデバイスで動作するには、そのデバイスに、利用可能な携帯通信会社が提供する互換性のある SIM(カードまたは eSIM)が必要です。Firebase PNV SDK を使用して互換性を検出し、デバイスで Firebase PNV がサポートされていない場合は、SMS などの別の方法にフォールバックできます。
幅広い運送業者のサポート Firebase PNV は、世界中の携帯通信会社で順次利用可能になります。新しい携帯通信会社が利用可能になると、アプリのバイナリを変更することなく、自動的にそれらの携帯通信会社を利用できるようになります。参加している携帯通信会社のリストについては、携帯通信会社のサポートをご覧ください。

仕組み

電話番号の確認リクエストを行うと、Firebase PNV:

  1. ユーザーのデバイスと携帯通信会社がサポートされていることを確認します。

  2. アプリで電話番号を共有することについてユーザーの同意を得ます。

  3. SIM に割り当てられた携帯通信会社と連携して、確認済みの電話番号を取得します。

  4. 確認済みの電話番号を含む署名付きトークンをアプリに返します。

このトークンの署名を確認すると、アプリはユーザーの確認済みの電話番号を取得します。このトークンは、電話番号ベースのログインフローの一部として使用することもできます(Firebase Authentication や独自の認証バックエンドを使用するなど)。

実装パス

Firebase プロジェクトを設定する Google Cloud コンソールで Firebase プロジェクトの Firebase Phone Number Verification API を有効にします。
SDK をインストールして初期化する アプリのプラットフォーム用の Firebase PNV SDK をインストールします。
デバイスと携帯通信会社の互換性を確認する (推奨)電話番号の確認が必要な操作をユーザーが行った場合は、まず Firebase PNV SDK を使用して、デバイスと携帯通信会社が Firebase PNV と互換性があることを確認します。そうでない場合は、SMS などの電話番号確認の代替方法を開始します。
確認済みの電話番号をリクエストする Firebase PNV SDK を使用して、携帯通信会社からデバイスの確認済みの電話番号をリクエストします。
レスポンス トークンを検証する Firebase PNV サービスからのレスポンスで、署名付きトークンを取得します。このトークンはアプリのバックエンドに送信できます。バックエンドで、トークンの署名を検証します。署名が有効な場合、トークンにはデバイスの確認済みの電話番号が含まれます。

次のステップ

  • Firebase PNV は、検証ごとに費用が発生する有料サービスです。詳細については、料金のページをご覧ください。
  • Android アプリで Firebase PNV を使用する方法については、Android スタートガイドをご覧ください。