Firebase 身份驗證
Firebase 身份驗證提供後端服務、易於使用的 SDK 和現成的 UI 庫來對您的應用程序的用戶進行身份驗證。它支持使用密碼、電話號碼、流行的聯合身份提供商(如 Google、Facebook 和 Twitter 等)進行身份驗證。
Firebase 身份驗證與其他 Firebase 服務緊密集成,並利用 OAuth 2.0 和 OpenID Connect 等行業標準,因此可以輕鬆與您的自定義後端集成。
當您升級到Firebase Authentication with Identity Platform時,您可以解鎖更多功能,例如多重身份驗證、阻止功能、用戶活動和審計日誌記錄、SAML 和通用 OpenID Connect 支持、多租戶和企業級支持。
關鍵能力
您可以將 FirebaseUI 用作完整的嵌入式身份驗證解決方案,或者使用 Firebase Authentication SDK 將一種或多種登錄方法手動集成到您的應用中,從而使用戶登錄到您的 Firebase 應用。
FirebaseUI 授權 | |
---|---|
嵌入式身份驗證解決方案 | 向您的應用程序添加完整登錄系統的推薦方法。 FirebaseUI 提供了一個嵌入式身份驗證解決方案,用於處理使用電子郵件地址和密碼、電話號碼以及流行的聯合身份提供商(包括 Google 登錄和 Facebook 登錄)登錄用戶的 UI 流程。 FirebaseUI Auth 組件實現了在移動設備和網站上進行身份驗證的最佳做法,可以最大限度地提高應用的登錄和註冊轉化率。它還處理邊緣情況,如帳戶恢復和帳戶鏈接,這些情況可能對安全敏感且容易出錯,無法正確處理。 FirebaseUI 可以輕鬆定制以適應您應用程序的其餘視覺風格,而且它是開源的,因此您在實現所需的用戶體驗方面不受限制。 |
Firebase SDK 身份驗證 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
基於電子郵件和密碼的身份驗證 | 使用用戶的電子郵件地址和密碼對用戶進行身份驗證。 Firebase 身份驗證 SDK 提供了創建和管理使用其電子郵件地址和密碼登錄的用戶的方法。Firebase 身份驗證還處理髮送密碼重置電子郵件。 | ||||||||||
聯合身份提供商集成 | 通過與聯合身份提供者集成來驗證用戶。 Firebase Authentication SDK 提供了允許用戶使用其 Google、Facebook、Twitter 和 GitHub 帳戶登錄的方法。
| ||||||||||
電話號碼認證 | 通過向用戶手機發送 SMS 消息來驗證用戶身份。 | ||||||||||
自定義身份驗證系統集成 | 將您應用的現有登錄系統連接到 Firebase Authentication SDK,並獲得對 Firebase 實時數據庫和其他 Firebase 服務的訪問權限。 | ||||||||||
匿名授權 | 使用需要身份驗證的功能,無需用戶先通過創建臨時匿名帳戶登錄。如果用戶稍後選擇註冊,您可以將匿名帳戶升級為普通帳戶,這樣用戶就可以從他們離開的地方繼續。 |
使用 Identity Platform 進行 Firebase 身份驗證
Firebase Authentication with Identity Platform 是一項可選升級,它為 Firebase Authentication 添加了多項新功能。
此升級不需要任何遷移——您現有的客戶端 SDK 和管理 SDK 代碼將繼續像以前一樣工作,您將立即獲得增強日誌記錄和企業級支持和 SLA 等功能。通過一些額外的代碼,您將能夠添加多因素身份驗證、阻止功能以及對 SAML 和 OpenID Connect 提供商的支持。
與基礎產品相比,使用 Identity Platform 進行 Firebase 身份驗證具有不同的定價方案。升級後,免費 (Spark) 計劃項目將限制為 3,000 名每日活躍用戶,即用即付 (Blaze) 計劃項目將對超過 50,000 名每月活躍用戶的免費套餐收費。在升級之前,請務必了解計費影響。
在下方閱讀有關新功能、定價和限制的更多信息。
特徵
多重身份驗證 | 使用 SMS 的多重身份驗證通過為您的應用程序添加第二層安全性來保護您的用戶數據。 |
阻塞函數 | 阻止函數允許您運行自定義代碼來修改用戶註冊或登錄到您的應用程序的結果。 |
SAML 和 OpenID Connect 提供商 | 支持使用 SAML(僅限網絡)和 Firebase 本身不支持的 OpenID Connect 提供商登錄。 了解如何將SAML 登錄添加到 Web 應用程序以及如何將 OpenID Connect 登錄添加到Apple 、 Android和Web應用程序。 |
用戶活動和審計日誌 | 監控和記錄管理訪問和最終用戶活動。 升級項目時,您會自動在 Cloud Logging 中啟用管理員活動審核日誌。您還可以在 Firebase 控制台的身份驗證設置頁面上啟用用戶活動日誌記錄。 要了解如何查看和分析您的日誌,請參閱Cloud Logging 文檔。 |
使用 App Check 防止濫用 | App Check 通過防止未經授權的客戶端訪問您的身份驗證端點,幫助保護您的項目免受濫用。 要了解如何啟用 App Check,請參閱App Check 文檔。 |
多租戶 | 使用租戶,您可以在單個項目中創建多個獨特的用戶和配置孤島。 請參閱 Cloud Identity Platform 文檔中的多租戶入門。 |
企業支持和 SLA | 根據Identity Platform 服務級別協議 (SLA)和訪問企業級支持,升級後的項目獲得 Auth 服務的正常運行時間保證。 |
自動清理匿名用戶 | 如果匿名帳戶超過 30 天,您將獲得啟用自動刪除的選項。匿名賬戶也將不再計入賬單和使用配額。 |
使用限制
升級後,Firebase Authentication with Identity Platform 對您使用 Firebase Authentication 引入了新的限制。
沒有成本(火花)
對於大多數登錄提供商,免費 (Spark) 計劃中的項目有 3,000 個每日活躍用戶 (DAU) 的新限制。每日活躍使用量是根據 24 小時內登錄的唯一用戶數計算的。
供應商 | 新限制 | 舊限制 |
---|---|---|
電子郵件、社交、匿名、自定義 | 3,000 個 DAU | 無限 |
SAML、OpenID 連接 | 2個DAU | 不適用 |
隨用隨付 (Blaze)
Blaze 計劃項目的定價基於每月活躍用戶 (MAU),包括 50,000 名用戶的免費層。活躍用戶是指在計費期內使用其帳戶的任何人。
供應商 | 免費層 | 高於免費層的每個 MAU 的成本(美元) |
---|---|---|
電子郵件、社交、匿名、自定義 | 0-49,999 MAU | 每個 MAU 0.0025 到 0.0055 |
SAML、OpenID 連接 | 0-49 MAU | 每個 MAU 0.015 |
升級您的項目
要使用 Identity Platform 將您的項目升級到 Firebase 身份驗證,請打開 Firebase 控制台的身份驗證設置頁面。
它是如何工作的?
要將用戶登錄到您的應用程序,您首先要從用戶那裡獲取身份驗證憑據。這些憑據可以是用戶的電子郵件地址和密碼,或者來自聯合身份提供者的 OAuth 令牌。然後,您將這些憑據傳遞給 Firebase Authentication SDK。然後,我們的後端服務將驗證這些憑據並向客戶端返迴響應。
登錄成功後,您可以訪問用戶的基本個人資料信息,並且可以控制用戶對存儲在其他 Firebase 產品中的數據的訪問權限。您還可以使用提供的身份驗證令牌在您自己的後端服務中驗證用戶的身份。
實施路徑
使用 FirebaseUI 身份驗證 | ||
---|---|---|
設置登錄方式 | 對於電子郵件地址和密碼或電話號碼登錄以及您想要支持的任何联合身份提供者,請在 Firebase 控制台中啟用它們並完成身份提供者所需的任何配置,例如設置您的 OAuth 重定向 URL。 | |
自定義登錄 UI | 您可以通過設置 FirebaseUI 選項來自定義登錄 UI,或者在 GitHub 上分叉代碼以進一步自定義登錄體驗。 | |
使用 FirebaseUI 執行登錄流程 | 導入 FirebaseUI 庫,指定您要支持的登錄方法,然後啟動 FirebaseUI 登錄流程。 |
使用 Firebase 身份驗證 SDK | ||
---|---|---|
設置登錄方式 | 對於電子郵件地址和密碼或電話號碼登錄以及您想要支持的任何联合身份提供者,請在 Firebase 控制台中啟用它們並完成身份提供者所需的任何配置,例如設置您的 OAuth 重定向 URL。 | |
為您的登錄方法實施 UI 流程 | 對於電子郵件地址和密碼登錄,實施提示用戶鍵入其電子郵件地址和密碼的流程。對於電話號碼登錄,創建一個流程,提示用戶輸入他們的電話號碼,然後輸入他們收到的 SMS 消息中的代碼。對於聯合登錄,實施每個提供商所需的流程。 | |
將用戶的憑據傳遞給 Firebase Authentication SDK | 將從聯合身份提供程序獲取的用戶電子郵件地址和密碼或 OAuth 令牌傳遞給 Firebase Authentication SDK。 |
下一步是什麼
詳細了解 Firebase 項目中的用戶,然後查看您要支持的登錄提供商的集成指南:
不知道從哪裡開始?