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 採用開放原始碼機制,因此您可以充分展現理想的使用者體驗。

iOS Android 網頁版

Firebase SDK 驗證
電子郵件和密碼驗證

輸入電子郵件地址和密碼,驗證使用者的身分。Firebase Authentication SDK 提供方法,讓您建立及管理透過電子郵件地址和密碼登入的使用者。Firebase 驗證也會處理密碼重設電子郵件的傳送作業。

iOS Android 網頁版 C++ Unity

聯合識別資訊提供者整合

整合聯合識別資訊提供者,驗證使用者的身分。Firebase Authentication SDK 提供方法,讓使用者以 Google、Facebook、Twitter 和 GitHub 帳戶登入。

Google iOS Android 網頁版 C++ Unity
使用 Apple 帳戶登入 iOS Android 網頁版 C++ Unity
Facebook iOS Android 網頁版 C++ Unity
Twitter iOS Android 網頁版 C++ Unity
GitHub iOS Android 網頁版 C++ Unity
電話號碼驗證

將簡訊傳送至手機以驗證使用者。

iOS Android 網頁版 C++ Unity

自訂驗證系統整合

將應用程式現有的登入系統連結至 Firebase Authentication SDK,並取得 Firebase 即時資料庫和其他 Firebase 服務的存取權。

iOS Android 網頁版 C++ Unity

匿名驗證

透過建立臨時匿名帳戶,使用需要先驗證的功能,而不必要求使用者登入。如果使用者日後選擇註冊,您可以將匿名帳戶升級為一般帳戶,以便他們繼續執行先前的工作。

iOS Android 網頁版 C++ Unity

使用 Identity Platform 進行 Firebase 驗證

「透過 Identity Platform 進行 Firebase 驗證」是一項選用升級功能,為 Firebase 驗證增添多項新功能。

這項升級不需要任何遷移,現有的用戶端 SDK 和 Admin SDK 程式碼會繼續照常運作,您也可以立即存取進階記錄功能、企業級支援和服務水準協議等功能。只要再加入一些程式碼,即可新增多重驗證、封鎖函式,並支援 SAML 和 OpenID Connect 供應商。

Identity Platform 的 Firebase 驗證與基本產品有不同的定價方式。升級後,免費 (Spark) 方案專案的每日活躍使用人數上限為 3,000 人,而即付即用 (Blaze) 方案專案在每月 50,000 名活躍使用者的免付費用量上限內,仍須支付相關費用。升級前,請務必瞭解帳單可能影響。

請參閱下方說明,進一步瞭解新功能、定價和限制。

功能與特色

多重驗證

簡訊的多重驗證機制可為應用程式增添第二層安全防護機制,進而保護使用者資料。

瞭解如何將 MFA 新增至 AppleAndroid網頁應用程式。

封鎖函式

封鎖函式可讓您執行自訂程式碼,藉此修改使用者註冊或登入應用程式的結果。

瞭解如何使用封鎖函式擴充 Firebase 驗證

SAML 和 OpenID Connect 供應商

支援使用 SAML (僅限網頁版) 和 OpenID Connect 供應商登入,Firebase 未原生支援。

瞭解如何在網頁應用程式中新增 SAML 登入,並將 OpenID Connect 登入功能新增至 AppleAndroid網頁應用程式。

使用者活動和稽核記錄

監控及記錄管理員權限和使用者活動。

升級專案時,系統會自動在 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 專案中的使用者,然後根據您想支援的登入供應商,參閱相應的整合指南:

iOS Android 網頁版 C++ Unity Admin

不確定該從哪裡著手嗎?

瞭解如何開始使用