該如何開始使用 Firebase 驗證?

我已經有驗證系統

如果您的應用程式已有登入實作,而您想用於透過 Firebase 後端服務進行驗證,請使用自訂驗證。這包括使用下列任一項目的應用程式:

  • 自訂解決方案,例如自訂密碼系統。
  • 第三方身分管理服務,例如 Auth0 或 Okta。
  • 目前已與聯合識別資訊提供者整合,例如 Google、Facebook 或 Apple。(如果尚未支援聯合身分,但您想要這麼做,請參閱下一節)。

使用自訂驗證機制時,您可以透過您選擇的系統讓使用者登入,並在後端為使用者建立 Firebase 權杖,然後使用用戶端中的權杖透過 Firebase 進行驗證。

請參閱 iOS+AndroidWebFlutterUnityC++ 的說明文件。

我想使用 Firebase 建構驗證系統

如果您要建立新的應用程式或在現有應用程式中新增登入機制,Firebase 的程式庫和服務可協助您實作安全驗證,而無需自行建立驗證後端。Firebase 驗證是完整的後端解決方案,可使用密碼、聯合識別資訊提供者、電子郵件連結和簡訊進行登入。

我需要一個易於使用的置入式解決方案

在應用程式中新增驗證時,最快速簡便的方法是使用 FirebaseUI 驗證,這是內建的 UI 程式庫。FirebaseUI 會針對所有 Firebase 驗證支援的登入方式,實作完整的使用者流程。

由於 FirebaseUI 驗證屬於置入式解決方案,因此其特定使用者體驗可能不符合您的需求。如要變更使用者體驗,可以建立程式庫分支 (開放原始碼),然後使用自己的版本。不過,對於主要不同的登入流程,您可能會想要使用 Firebase SDK 實作自己的流程,如下一節所述。

請參閱 iOSAndroid網頁版的 FirebaseUI 驗證文件。

我想完全掌控登入體驗

如要進一步控管應用程式的登入體驗,您可以實作自己的驗證流程,並使用 Firebase SDK 與 Firebase 的驗證服務搭配運作。舉例來說,請建構自己的電子郵件地址和密碼流程,或是 Google 登入流程,然後將使用者的電子郵件地址和密碼,或 Google ID 權杖傳遞至 Firebase 以驗證使用者。

請參閱 Firebase Authentication SDK 說明文件:

Firebase 服務
電子郵件地址和密碼登入 iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++
電話號碼登入 iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++
電子郵件連結登入 iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++
聯合身分識別
Google iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++
Facebook iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++
Apple iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++
Play 遊戲 Android | Unity | C++
遊戲中心 iOS+
GitHub iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++
Microsoft iOS 以上版本 | Android | 網頁版 | Unity | C++
Twitter iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++
Yahoo iOS 以上版本 | Android | 網頁版 | Unity | C++

我想打造豐富的預先登入體驗

您可以讓使用者在實際透過匿名驗證登入時,使用應用程式的登入功能。如果採用匿名「登入」功能,您會建立臨時的單一工作階段帳戶,來當做真實帳戶使用。在使用者登入或註冊後,將臨時帳戶連結至實際帳戶,讓使用者從上次中斷的地方繼續。

匿名驗證可與自訂驗證或任何 Firebase 的驗證服務搭配使用。

請參閱 iOS+AndroidWebFlutterUnityC++ 的說明文件。

我想從後端存取 Firebase 服務

如要從伺服器存取 Firebase 服務,您不需要使用 Firebase 驗證,請改用 Admin SDK。初始化 Admin SDK 時,您會使用服務帳戶憑證進行驗證,該憑證代表 Firebase 專案 (而非特定使用者),還可授予專案資源的完整存取權。