我已經有驗證系統
如果您的應用程式已有登入實作,而您想用於透過 Firebase 後端服務進行驗證,請使用自訂驗證。這包括使用下列任一項目的應用程式:
- 自訂解決方案,例如自訂密碼系統。
- 第三方身分管理服務,例如 Auth0 或 Okta。
- 目前已與聯合識別資訊提供者整合,例如 Google、Facebook 或 Apple。(如果尚未支援聯合身分,但您想要這麼做,請參閱下一節)。
使用自訂驗證機制時,您可以透過您選擇的系統讓使用者登入,並在後端為使用者建立 Firebase 權杖,然後使用用戶端中的權杖透過 Firebase 進行驗證。
請參閱 iOS+、Android、Web、Flutter、Unity 或 C++ 的說明文件。
我想使用 Firebase 建構驗證系統
如果您要建立新的應用程式或在現有應用程式中新增登入機制,Firebase 的程式庫和服務可協助您實作安全驗證,而無需自行建立驗證後端。Firebase 驗證是完整的後端解決方案,可使用密碼、聯合識別資訊提供者、電子郵件連結和簡訊進行登入。
我需要一個易於使用的置入式解決方案
在應用程式中新增驗證時,最快速簡便的方法是使用 FirebaseUI 驗證,這是內建的 UI 程式庫。FirebaseUI 會針對所有 Firebase 驗證支援的登入方式,實作完整的使用者流程。
由於 FirebaseUI 驗證屬於置入式解決方案,因此其特定使用者體驗可能不符合您的需求。如要變更使用者體驗,可以建立程式庫分支 (開放原始碼),然後使用自己的版本。不過,對於主要不同的登入流程,您可能會想要使用 Firebase SDK 實作自己的流程,如下一節所述。
請參閱 iOS、Android 或網頁版的 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++ |
聯合身分識別 | |
iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++ | |
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++ |
iOS 以上版本 | Android | 網頁版 | Flutter | Unity | C++ | |
Yahoo | iOS 以上版本 | Android | 網頁版 | Unity | C++ |
我想打造豐富的預先登入體驗
您可以讓使用者在實際透過匿名驗證登入時,使用應用程式的登入功能。如果採用匿名「登入」功能,您會建立臨時的單一工作階段帳戶,來當做真實帳戶使用。在使用者登入或註冊後,將臨時帳戶連結至實際帳戶,讓使用者從上次中斷的地方繼續。
匿名驗證可與自訂驗證或任何 Firebase 的驗證服務搭配使用。
請參閱 iOS+、Android、Web、Flutter、Unity 或 C++ 的說明文件。
我想從後端存取 Firebase 服務
如要從伺服器存取 Firebase 服務,您不需要使用 Firebase 驗證,請改用 Admin SDK。初始化 Admin SDK 時,您會使用服務帳戶憑證進行驗證,該憑證代表 Firebase 專案 (而非特定使用者),還可授予專案資源的完整存取權。