Firebase 電話號碼驗證

Firebase Phone Number Verification (Firebase PNV) 是一種快速又安全的使用者電話號碼驗證方法。與簡訊驗證不同,使用者必須接收簡訊並輸入驗證碼,Firebase PNV 則會與裝置硬體和行動電信業者合作,讓使用者輕觸一下即可完成驗證。這種方法可減少使用者遇到的阻礙、提高可靠性 (因為不會使用經常無法送達的簡訊),並消除使用簡訊時常見的濫用媒介。

主要功能

貨運公司是資訊的可靠來源 透過 Firebase PNV,Google 可直接從訂閱者取得 SIM 卡的已驗證電話號碼,讓您瞭解目前執行應用程式的裝置所使用的號碼。簡訊 OTP 只能判斷使用者是否能存取電話號碼。
可單獨使用,或搭配識別資訊提供者使用 您可以單獨使用 Firebase PNV,做為易於整合且可靠的電話號碼驗證方法,也可以搭配 Firebase Authentication 或您自己的驗證系統,將 Firebase PNV 做為登入方法。
自動使用可用的貨運公司 如要在特定裝置上使用「Firebase PNV」,裝置必須使用相容的 SIM 卡 (實體卡或 eSIM),並搭配支援的電信業者。您可以使用 Firebase PNV SDK 偵測相容性,並在裝置不支援 Firebase PNV 時,改用其他方法 (例如簡訊)。
支援的貨運公司越來越多 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 相容。如果沒有,請啟動其他電話號碼驗證方法,例如簡訊。
要求提供已驗證的電話號碼 使用 Firebase PNV SDK 向行動電信業者請求裝置的已驗證電話號碼。
驗證回應權杖 Firebase PNV 服務的回應中,您會收到已簽署的權杖,可以傳送至應用程式的後端。在後端驗證權杖的簽章。如果簽章有效,則權杖會包含裝置的已驗證電話號碼。

後續步驟

  • Firebase PNV 是付費服務,每次驗證都會產生費用。詳情請參閱定價頁面。
  • 請參閱「在 Android 上開始使用」指南,瞭解如何在 Android 應用程式中使用 Firebase PNV