Firebase 驗證
Firebase 驗證提供後端服務、簡單易用的 SDK,以及現成的 UI 程式庫,以便驗證應用程式的使用者。這項工具支援使用密碼、電話號碼、熱門聯合識別資訊提供者 (例如 Google、Facebook 和 Twitter) 等來源進行驗證。
Firebase 驗證功能與其他 Firebase 服務緊密整合,並採用 OAuth 2.0 和 OpenID Connect 等業界標準,因此可與自訂後端輕鬆整合。
升級至「搭配 Identity Platform 使用 Firebase 驗證」後,即可使用其他功能,例如多重驗證、封鎖函式、使用者活動和稽核記錄、SAML 與一般 OpenID Connect 支援、多用戶群以及企業層級支援。
主要功能
您可以將 FirebaseUI 做為完整的置入驗證解決方案,或使用 Firebase Authentication SDK 手動將一或多個登入方式整合至應用程式,讓使用者登入您的 Firebase 應用程式。
FirebaseUI 驗證 | |
---|---|
置入式驗證解決方案 |
建議您在應用程式中新增完整的登入系統。 FirebaseUI 提供置入式驗證解決方案,無論是以電子郵件地址和密碼或電話號碼登入使用者,還是透過熱門聯合識別資訊提供者 (包括 Google 登入和 Facebook 登入) 登入的使用者,都能處理使用者介面的流程。 FirebaseUI 驗證元件實作在行動裝置和網站上進行驗證的最佳做法,希望最大化應用程式的登入和註冊轉換。此外,它也能處理帳戶救援和帳戶連結等極端情況,可能涉及安全性且容易出錯,且可正確處理。 您可以輕鬆自訂 FirebaseUI,並融入應用程式的其餘視覺樣式。此外,FirebaseUI 採用開放原始碼機制,因此您可以充分展現理想的使用者體驗。 |
Firebase SDK 驗證 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
電子郵件和密碼驗證 | 輸入電子郵件地址和密碼,驗證使用者的身分。Firebase Authentication SDK 提供方法,讓您建立及管理透過電子郵件地址和密碼登入的使用者。Firebase 驗證也會處理密碼重設電子郵件的傳送作業。 |
||||||||||
聯合識別資訊提供者整合 | 整合聯合識別資訊提供者,驗證使用者的身分。Firebase Authentication SDK 提供方法,讓使用者以 Google、Facebook、Twitter 和 GitHub 帳戶登入。
|
||||||||||
電話號碼驗證 | 將簡訊傳送至手機以驗證使用者。 |
||||||||||
自訂驗證系統整合 |
將應用程式現有的登入系統連結至 Firebase Authentication SDK,並取得 Firebase 即時資料庫和其他 Firebase 服務的存取權。 |
||||||||||
匿名驗證 | 透過建立臨時匿名帳戶,使用需要先驗證的功能,而不必要求使用者登入。如果使用者日後選擇註冊,您可以將匿名帳戶升級為一般帳戶,以便他們繼續執行先前的工作。 |
使用 Identity Platform 進行 Firebase 驗證
「透過 Identity Platform 進行 Firebase 驗證」是一項選用升級功能,為 Firebase 驗證增添多項新功能。
這項升級不需要任何遷移,現有的用戶端 SDK 和 Admin SDK 程式碼會繼續照常運作,您也可以立即存取進階記錄功能、企業級支援和服務水準協議等功能。只要再加入一些程式碼,即可新增多重驗證、封鎖函式,並支援 SAML 和 OpenID Connect 供應商。
Identity Platform 的 Firebase 驗證與基本產品有不同的定價方式。升級後,免費 (Spark) 方案專案的每日活躍使用人數上限為 3,000 人,而即付即用 (Blaze) 方案專案在每月 50,000 名活躍使用者的免付費用量上限內,仍須支付相關費用。升級前,請務必瞭解帳單可能影響。
請參閱下方說明,進一步瞭解新功能、定價和限制。
功能與特色
多重驗證 |
簡訊的多重驗證機制可為應用程式增添第二層安全防護機制,進而保護使用者資料。 |
封鎖函式 |
封鎖函式可讓您執行自訂程式碼,藉此修改使用者註冊或登入應用程式的結果。 瞭解如何使用封鎖函式擴充 Firebase 驗證。 |
SAML 和 OpenID Connect 供應商 |
支援使用 SAML (僅限網頁版) 和 OpenID Connect 供應商登入,Firebase 未原生支援。 瞭解如何在網頁應用程式中新增 SAML 登入,並將 OpenID Connect 登入功能新增至 Apple、Android 和網頁應用程式。 |
使用者活動和稽核記錄 |
監控及記錄管理員權限和使用者活動。 升級專案時,系統會自動在 Cloud Logging 中啟用管理員活動稽核記錄。您也可以在 Firebase 控制台的「驗證設定」頁面中啟用使用者活動記錄功能。 如要瞭解如何查看和分析記錄檔,請參閱 Cloud Logging 說明文件。 |
運用 App Check 預防濫用 |
App Check 可防止未經授權的用戶端存取您的驗證端點,藉此防範專案遭到濫用。 如要瞭解如何啟用 App Check,請參閱 App Check 說明文件。 |
多用戶群架構 |
有了用戶群,您就能在單一專案中建立多個不重複的使用者與設定資料。 請參閱 Cloud Identity Platform 說明文件中的「開始使用多用戶群架構」一節。 |
企業支援與服務水準協議 |
升級的專案會依據 Identity Platform 服務水準協議 (SLA) 取得驗證服務的運作時間保證,以及企業級支援服務。 |
自動清理匿名使用者 |
您可以選擇啟用自動刪除功能,以便在帳戶建立超過 30 天後自動刪除。匿名帳戶也不會再計入帳單和用量配額。 |
使用限制
升級之後,搭配使用 Identity Platform 的 Firebase 驗證會對 Firebase 驗證功能的使用造成新的限制。
免費 (Spark)
針對使用免付費方案 (Spark) 方案的專案,大多數登入服務供應商的每日活躍使用人數 (DAU) 上限為 3,000 名。每日活躍用量是根據 24 小時內登入的不重複使用者人數計算。
供應商外掛程式 | 新限制 | 舊限制 |
---|---|---|
電子郵件地址、社群媒體、匿名、自訂 | 每日 3,000 名活躍使用者 | 無上限 |
SAML、OpenID Connect | 每日 2 名活躍使用者 | 不適用 |
即付即用 (Blaze)
Blaze 方案的計費方式取決於每月活躍使用人數 (MAU),其中包含 50,000 名使用者的免付費方案。活躍使用者是指在帳單週期內使用帳戶的任何使用者。
供應商外掛程式 | 免付費方案 | 超出免費方案的每位每月活躍使用者費用 ($) |
---|---|---|
電子郵件地址、社群媒體、匿名、自訂 | 每月 0 至 49,999 名活躍使用者 | 每個每月活躍使用者 0.0025 至 0.0055 |
SAML、OpenID Connect | 每月 0 至 49 名活躍使用者 | 每 MAU 0.015 |
升級專案
如要透過 Identity Platform 將專案升級為 Firebase 驗證,請開啟 Firebase 控制台的「Authentication Settings」(驗證設定) 頁面。
運作原理
如要將使用者登入應用程式,您必須先取得使用者的驗證憑證。這些憑證可以是使用者的電子郵件地址和密碼,或是聯合識別資訊提供者的 OAuth 權杖。接著,將這些憑證傳送至 Firebase Authentication SDK。接著,我們的後端服務會驗證這些憑證,並將回應傳回用戶端。
成功登入後,您就可以存取使用者的基本個人資料資訊,並控管使用者對其他 Firebase 產品中儲存的資料的存取權。您也可以使用提供的驗證權杖,以驗證您後端服務中的使用者身分。
實作方式
使用 FirebaseUI 驗證 | ||
---|---|---|
設定登入方式 | 如要登入電子郵件地址和密碼,或是要支援的聯合識別資訊提供者,請在 Firebase 控制台中啟用這些機制,並完成識別資訊提供者要求的所有設定,例如設定 OAuth 重新導向網址。 | |
自訂登入 UI | 您可以透過設定 FirebaseUI 選項來自訂登入 UI,也可以建立 GitHub 上的程式碼分支,進一步自訂登入體驗。 | |
使用 FirebaseUI 執行登入流程 | 匯入 FirebaseUI 程式庫,指定要支援的登入方式,並啟動 FirebaseUI 登入流程。 |
使用 Firebase Authentication SDK | ||
---|---|---|
設定登入方式 | 如要登入電子郵件地址和密碼,或是要支援的聯合識別資訊提供者,請在 Firebase 控制台中啟用這些機制,並完成識別資訊提供者要求的所有設定,例如設定 OAuth 重新導向網址。 | |
針對登入方法實作 UI 流程 | 針對電子郵件地址和密碼登入作業,實作可提示使用者輸入電子郵件地址和密碼的流程。針對電話號碼登入程序,請建立流程來提示使用者輸入電話號碼,接著取得使用者收到的簡訊中的驗證碼。如果是聯合登入,請實作每個供應商所需的流程。 | |
將使用者憑證傳送至 Firebase Authentication SDK | 將使用者的電子郵件地址和密碼,或是從聯合識別資訊提供者取得的 OAuth 權杖,傳遞至 Firebase 驗證 SDK。 |
後續步驟
進一步瞭解 Firebase 專案中的使用者,然後根據您想支援的登入供應商,參閱相應的整合指南:
不確定該從哪裡著手嗎?