Firebase 身份驗證
Firebase 身份驗證提供後端服務、易於使用的 SDK 和現成的 UI 庫來對您的應用的用戶進行身份驗證。它支持使用密碼、電話號碼、流行的聯合身份提供商(如 Google、Facebook 和 Twitter 等)進行身份驗證。
Firebase 身份驗證與其他 Firebase 服務緊密集成,並利用 OAuth 2.0 和 OpenID Connect 等行業標準,因此可以輕鬆與您的自定義後端集成。
關鍵能力
您可以通過使用 FirebaseUI 作為完整的插入式身份驗證解決方案或使用 Firebase 身份驗證 SDK 將一種或多種登錄方法手動集成到您的應用中,讓用戶登錄您的 Firebase 應用。
FirebaseUI 身份驗證 | |
---|---|
插入式身份驗證解決方案 | 向您的應用添加完整登錄系統的推薦方法。 FirebaseUI 提供了一個插入式身份驗證解決方案,該解決方案處理用戶使用電子郵件地址和密碼、電話號碼以及流行的聯合身份提供商(包括 Google 登錄和 Facebook 登錄)登錄的用戶界面流程。 FirebaseUI Auth 組件實現了在移動設備和網站上進行身份驗證的最佳做法,可以最大限度地提高您應用的登錄和註冊轉化率。它還處理諸如帳戶恢復和帳戶鏈接等邊緣情況,這些情況可能對安全性敏感且容易出錯,無法正確處理。 FirebaseUI 可以輕鬆自定義以適應應用程序的其餘視覺樣式,並且它是開源的,因此您在實現所需的用戶體驗方面不受限制。 |
Firebase SDK 身份驗證 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
基於電子郵件和密碼的身份驗證 | 使用電子郵件地址和密碼對用戶進行身份驗證。 Firebase 身份驗證 SDK 提供了創建和管理使用其電子郵件地址和密碼登錄的用戶的方法。Firebase 身份驗證還處理髮送密碼重置電子郵件。 | ||||||||||
聯合身份提供者集成 | 通過與聯合身份提供者集成來對用戶進行身份驗證。 Firebase 身份驗證 SDK 提供允許用戶使用其 Google、Facebook、Twitter 和 GitHub 帳戶登錄的方法。
| ||||||||||
電話號碼認證 | 通過向他們的手機發送 SMS 消息對用戶進行身份驗證。 | ||||||||||
自定義認證系統集成 | 將您應用的現有登錄系統連接到 Firebase 身份驗證 SDK,並獲得對 Firebase 實時數據庫和其他 Firebase 服務的訪問權限。 | ||||||||||
匿名認證 | 通過創建臨時匿名帳戶來使用需要身份驗證的功能,而無需用戶先登錄。如果用戶稍後選擇註冊,您可以將匿名帳戶升級為普通帳戶,以便用戶可以從上次中斷的地方繼續。 |
它是如何工作的?
要將用戶登錄到您的應用程序,您首先要從用戶那裡獲取身份驗證憑據。這些憑據可以是用戶的電子郵件地址和密碼,也可以是來自聯合身份提供商的 OAuth 令牌。然後,您將這些憑據傳遞給 Firebase 身份驗證 SDK。然後,我們的後端服務將驗證這些憑據並向客戶端返迴響應。
成功登錄後,您可以訪問用戶的基本個人資料信息,並且可以控制用戶對存儲在其他 Firebase 產品中的數據的訪問權限。您還可以使用提供的身份驗證令牌在您自己的後端服務中驗證用戶的身份。
注意:默認情況下,經過身份驗證的用戶可以在 Firebase 實時數據庫和雲存儲中讀取和寫入數據。您可以通過修改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 項目中的用戶,然後查看您要支持的登錄提供商的集成指南:
不知道從哪裡開始?