Firebase 身份驗證

大多數應用程序需要知道用戶的身份。了解用戶身份後,應用程序可以將用戶數據安全地保存在雲中,並在用戶的所有設備上提供相同的個性化體驗。

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

Firebase 身份驗證與其他 Firebase 服務緊密集成,並利用 OAuth 2.0 和 OpenID Connect 等行業標準,因此可以輕鬆與您的自定義後端集成。

當您使用 Identity Platform 升級到 Firebase 身份驗證時,您會解鎖其他功能,例如多重身份驗證、阻止功能、用戶活動和審核日誌記錄、SAML 和通用 OpenID Connect 支持、多租戶和企業級支持。

了解如何開始

關鍵能力

您可以通過使用 FirebaseUI 作為完整的插入式身份驗證解決方案或使用 Firebase 身份驗證 SDK 將一種或多種登錄方法手動集成到您的應用中,讓用戶登錄您的 Firebase 應用。

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

向您的應用添加完整登錄系統的推薦方法。

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

FirebaseUI Auth 組件實現了在移動設備和網站上進行身份驗證的最佳做法,可以最大限度地提高您應用的登錄和註冊轉化率。它還處理諸如帳戶恢復和帳戶鏈接等邊緣情況,這些情況可能對安全性敏感且容易出錯,無法正確處理。

FirebaseUI 可以輕鬆自定義以適應應用程序的其餘視覺樣式,並且它是開源的,因此您在實現所需的用戶體驗方面不受限制。

iOS安卓網頁

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

使用電子郵件地址和密碼對用戶進行身份驗證。 Firebase 身份驗證 SDK 提供了創建和管理使用其電子郵件地址和密碼登錄的用戶的方法。Firebase 身份驗證還處理髮送密碼重置電子郵件。

iOS Android Web C++ Unity

聯合身份提供者集成

通過與聯合身份提供者集成來對用戶進行身份驗證。 Firebase 身份驗證 SDK 提供允許用戶使用其 Google、Facebook、Twitter 和 GitHub 帳戶登錄的方法。

谷歌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
電話號碼認證

通過向他們的手機發送 SMS 消息對用戶進行身份驗證。

iOS Android Web C++ Unity

自定義認證系統集成

將您應用的現有登錄系統連接到 Firebase 身份驗證 SDK,並獲得對 Firebase 實時數據庫和其他 Firebase 服務的訪問權限。

iOS Android Web C++ Unity

匿名認證

通過創建臨時匿名帳戶來使用需要身份驗證的功能,而無需用戶先登錄。如果用戶稍後選擇註冊,您可以將匿名帳戶升級為普通帳戶,以便用戶可以從上次中斷的地方繼續。

iOS Android Web C++ Unity

使用身份平台進行 Firebase 身份驗證

帶有 Identity Platform 的 Firebase 身份驗證是一項可選升級,它為 Firebase 身份驗證添加了多項新功能。

此升級不需要任何遷移 - 您現有的客戶端 SDK 和管理 SDK 代碼將繼續像以前一樣工作,並且您將立即訪問增強日誌記錄和企業級支持以及 SLA 等功能。通過一些額外的代碼,您將能夠添加多因素身份驗證、阻止功能以及對 SAML 和 OpenID Connect 提供程序的支持。

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

在下方閱讀有關新功能、定價和限制的更多信息。

特徵

多因素身份驗證

SMS 的多因素身份驗證通過為您的應用添加第二層安全性來保護您的用戶數據。

了解如何將 MFA 添加到您的AppleAndroidWeb應用程序。

阻塞函數

阻止函數允許您運行自定義代碼來修改用戶註冊或登錄到您的應用程序的結果。

了解如何使用阻止功能擴展 Firebase 身份驗證

SAML 和 OpenID Connect 提供程序

支持使用 Firebase 本身不支持的 SAML(僅限 Web)和 OpenID Connect 提供程序登錄。

了解如何將SAML 登錄添加到 Web 應用程序以及將 OpenID Connect 登錄添加到AppleAndroidWeb應用程序。

用戶活動和審計日誌

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

升級項目時,您會自動在 Cloud Logging 中啟用管理員活動審核日誌。您還可以在 Firebase 控制台的身份驗證設置頁面上啟用用戶活動日誌記錄。

要了解如何查看和分析您的日誌,請參閱Cloud Logging 文檔

多租戶

使用租戶,您可以在單個項目中創建多個獨特的用戶和配置孤島。

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

企業支持和 SLA

升級後的項目根據身份平台服務水平協議 (SLA)獲得身份驗證服務的正常運行時間保證,並獲得企業級支持。

自動清理匿名用戶

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

使用限制

升級後,帶有 Identity Platform 的 Firebase 身份驗證為您使用 Firebase 身份驗證引入了新限制。

免費(Spark)

對於大多數登錄提供商,免費 (Spark) 計劃中的項目有 3,000 個每日活躍用戶 (DAU) 的新限制。每日活躍使用量是根據 24 小時內登錄的唯一用戶數計算得出的。

提供者新限制舊限制
電子郵件、社交、匿名、自定義3,000 日活躍用戶無限
SAML,OpenID 連接2 個 DAU不適用

隨用隨付(Blaze)

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

提供者免費層高於免費層級的每 MAU 成本 ($)
電子郵件、社交、匿名、自定義0-49,999 月活躍用戶每個 MAU 0.0025 到 0.0055
SAML,OpenID 連接0-49 月活躍用戶每個 MAU 0.015

升級您的項目

要將您的項目升級到使用 Identity Platform 的 Firebase 身份驗證,請打開 Firebase 控制台的身份驗證設置頁面。

它是如何工作的?

鏈接為平台做正確的事

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

成功登錄後,您可以訪問用戶的基本個人資料信息,並且可以控制用戶對存儲在其他 Firebase 產品中的數據的訪問權限。您還可以使用提供的身份驗證令牌在您自己的後端服務中驗證用戶的身份。

實施路徑

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

下一步是什麼

詳細了解 Firebase 項目中的用戶,然後查看您要支持的登錄提供商的集成指南:

iOS Android Web C++ Unity管理員

不知道從哪裡開始?

了解如何開始