Firebase 身份驗證

大多數應用程式需要知道用戶的身份。了解使用者身分後,應用程式可以將使用者資料安全地保存在雲端中,並在使用者的所有裝置上提供相同的個人化體驗。

Firebase 驗證提供後端服務、易於使用的 SDK 和現成的 UI 庫,用於對應用程式的使用者進行身份驗證。它支援使用密碼、電話號碼、流行的聯合身分提供者(如 Google、Facebook 和 Twitter 等)進行身份驗證。

Firebase 驗證與其他 Firebase 服務緊密整合,並利用 OAuth 2.0 和 OpenID Connect 等業界標準,因此可以輕鬆與您的自訂後端整合。

當您升級至Firebase 驗證 with Identity Platform時,您可以解鎖其他功能,例如多重驗證、封鎖功能、使用者活動和審核日誌記錄、SAML 和通用 OpenID Connect 支援、多租戶和企業級支援。

了解如何開始

關鍵能力

您可以使用 FirebaseUI 作為完整的嵌入式身份驗證解決方案,或使用 Firebase 身份驗證 SDK 將一種或多種登入方法手動整合到您的應用程式中,從而使用戶登入您的 Firebase 應用程式。

FirebaseUI 身份驗證
嵌入式身份驗證解決方案

將完整的登入系統新增至您的應用程式的建議方法。

FirebaseUI 提供了一個嵌入式身份驗證解決方案,可處理使用電子郵件地址和密碼、電話號碼以及流行的聯合身分提供者(包括 Google 登入和 Facebook 登入)登入使用者的 UI 流程。

FirebaseUI Auth 元件在行動裝置和網站上實施身分驗證最佳實踐,這可以最大限度地提高應用程式的登入和註冊轉換率。它還可以處理帳戶恢復和帳戶連結等邊緣情況,這些情況可能是安全敏感的,並且正確處理時容易出錯。

FirebaseUI 可以輕鬆自訂,以適應應用程式其餘部分的視覺風格,而且它是開源的,因此您在實現所需的使用者體驗方面不受限制。

iOS安卓網頁

Firebase SDK 身份驗證
基於電子郵件和密碼的身份驗證

使用電子郵件地址和密碼對使用者進行身份驗證。 Firebase 驗證 SDK 提供了建立和管理使用電子郵件地址和密碼登入的使用者的方法。Firebase 驗證還處理傳送密碼重設電子郵件。

iOS Android Web C++ Unity

聯合身分提供者集成

透過與聯合身分提供者整合來驗證使用者身分。 Firebase 驗證 SDK 提供了允許用戶使用其 Google、Facebook、Twitter 和 GitHub 帳戶登入的方法。

Google iOS Android Web C++ Unity
使用 Apple 登入iOS Android Web C++ Unity
Facebook iOS Android Web C++ Unity
推特iOS Android Web C++ Unity
GitHub iOS Android Web C++ Unity
電話號碼認證

透過向用戶的手機發送簡訊來驗證用戶身份。

iOS Android Web C++ Unity

客製化認證系統集成

將應用程式的現有登入系統連接到 Firebase 驗證 SDK,並取得對 Firebase 即時資料庫和其他 Firebase 服務的存取權限。

iOS Android Web C++ Unity

匿名認證

使用需要身份驗證的功能,而不需要使用者透過建立臨時匿名帳戶先登入。如果用戶稍後選擇註冊,您可以將匿名帳戶升級為常規帳戶,以便用戶可以從上次中斷的地方繼續。

iOS Android Web C++ Unity

使用 Identity Platform 進行 Firebase 驗證

Firebase 驗證與 Identity Platform 是一項可選升級,它為 Firebase 驗證新增了多項新功能。

此升級不需要任何遷移 - 您現有的客戶端 SDK 和管理 SDK 程式碼將繼續像以前一樣工作,並且您將立即存取增強的日誌記錄和企業級支援和 SLA 等功能。透過一些額外的程式碼,您將能夠新增多重身份驗證、封鎖功能以及對 SAML 和 OpenID Connect 供應商的支援。

與基礎產品相比,Firebase Authentication with Identity Platform 有不同的定價方案。升級後,免費 (Spark) 計劃項目將限制為 3,000 名每日活躍用戶,而即用即付 (Blaze) 計劃項目將根據超過 50,000 名每月活躍用戶的免費套餐收取使用費。在升級之前,請確保您了解計費的影響。

請閱讀下面有關新功能、定價和限制的更多資訊。

特徵

多重身份驗證

透過簡訊進行多重身份驗證,可以為您的應用程式添加第二層安全保護,從而保護您的用戶資料。

了解如何將 MFA 新增到您的AppleAndroidWeb應用程式。

阻塞功能

阻止函數可讓您執行自訂程式碼來修改使用者註冊或登入應用程式的結果。

了解如何使用阻止功能擴充 Firebase 驗證

SAML 和 OpenID Connect 供應商

支援使用 Firebase 本身不支援的 SAML(僅限 Web)和 OpenID Connect 供應商進行登入。

了解如何將SAML 登入新增至 Web 應用程式以及如何將 OpenID Connect 登入新增至AppleAndroid網路應用程式。

使用者活動和審核日誌記錄

監視並記錄管理訪問和最終用戶活動。

升級專案時,您會自動在 Cloud Logging 中啟用管理員活動審核日誌。您也可以在 Firebase 控制台的「驗證設定」頁面上啟用使用者活動日誌記錄。

若要了解如何檢視和分析日誌,請參閱Cloud Logging 文件

透過 App Check 預防濫用

App Check 透過防止未經授權的用戶端存取您的驗證端點來協助保護您的專案免於濫用。

若要了解如何啟用 App Check,請參閱App Check 文件

多租戶

使用租用戶,您可以在單一專案中建立多個獨特的使用者和配置孤島。

請參閱 Cloud Identity Platform 文件中的多租戶入門

企業支援和 SLA

升級後的專案將根據Identity Platform 服務等級協定 (SLA)獲得 Auth 服務的正常運作時間保證,並獲得企業級支援。

自動清理匿名用戶

如果匿名帳戶已存在超過 30 天,您將可以選擇自動刪除它們。匿名帳戶也將不再計入計費和使用配額。

使用限制

升級後,Firebase 驗證與 Identity Platform 對 Firebase 驗證的使用引入了新的限制。

無成本(火花)

對於大多數登入提供者來說,免費 (Spark) 計劃的專案的每日活躍用戶 (DAU) 的新限制為 3,000 個。每日活躍使用量是根據 24 小時內登入的唯一用戶數計算的。

供應商新限額舊限制
電子郵件、社交、匿名、自訂3,000 日活躍用戶無限
SAML、OpenID 連接2 日活躍用戶不適用

即付即用(Blaze)

Blaze 計劃中的項目定價是基於每月活躍用戶 (MAU),並包括 50,000 名用戶的免費等級。活躍用戶是指在計費期間內使用其帳戶的任何人。

供應商免費等級高於免費等級的每 MAU 成本(美元)
電子郵件、社交、匿名、自訂0-49,999 月活躍用戶每個月活躍用戶數 0.0025 至 0.0055
SAML、OpenID 連接0-49 月活躍用戶數每個月活躍用戶 0.015

升級您的項目

若要將您的專案升級至使用 Identity Platform 的 Firebase 驗證,請開啟 Firebase 控制台的「驗證設定」頁面。

它是如何運作的?

連結為平台做正確的事情

要將使用者登入您的應用程序,您首先需要從使用者那裡取得身份驗證憑證。這些憑證可以是使用者的電子郵件地址和密碼,也可以是來自聯合身分提供者的 OAuth 令牌。然後,您將這些憑證傳遞給 Firebase 驗證 SDK。然後,我們的後端服務將驗證這些憑證並向客戶端回傳回應。

成功登入後,您可以存取使用者的基本個人資料訊息,並且可以控制使用者對其他 Firebase 產品中儲存的資料的存取權限。您也可以使用提供的身份驗證令牌來驗證您自己的後端服務中的使用者身分。

實施路徑

使用 FirebaseUI 身份驗證
設定登入方法對於電子郵件地址和密碼或電話號碼登入以及您想要支援的任何联合身分提供者,請在 Firebase 控制台中啟用它們並完成身分提供者所需的任何配置,例如設定 OAuth 重定向 URL。
自訂登入 UI您可以透過設定 FirebaseUI 選項來自訂登入 UI,或在 GitHub 上分叉程式碼以進一步自訂登入體驗。
使用 FirebaseUI 執行登入流程匯入 FirebaseUI 庫,指定要支援的登入方法,然後啟動 FirebaseUI 登入流程。
使用 Firebase 身份驗證 SDK
設定登入方法對於電子郵件地址和密碼或電話號碼登入以及您想要支援的任何联合身分提供者,請在 Firebase 控制台中啟用它們並完成身分提供者所需的任何配置,例如設定 OAuth 重定向 URL。
為您的登入方法實作 UI 流程對於電子郵件地址和密碼登錄,實施提示使用者輸入電子郵件地址和密碼的流程。對於電話號碼登錄,建立一個流程,提示使用者輸入電話號碼,然後輸入他們收到的簡訊中的代碼。對於聯合登錄,實施每個提供者所需的流程。
將使用者的憑證傳遞給 Firebase 驗證 SDK將從聯合身分提供者取得的使用者的電子郵件地址和密碼或 OAuth 令牌傳遞到 Firebase 身分驗證 SDK。

下一步是什麼

詳細了解 Firebase 專案中的用戶,然後查看您想要支援的登入提供者的整合指南:

iOS Android Web C++ Unity管理員

不知道從哪裡開始?

了解如何開始