Firebase Authentication

大多數應用程式都需要知道使用者的身分。應用程式可透過瞭解使用者的身分,在雲端安全地儲存使用者資料,並在使用者的所有裝置上提供相同的個人化體驗。

Firebase Authentication 提供後端服務、簡易使用的 SDK 和現成 UI 程式庫,可驗證應用程式使用者的身分。此服務支援使用密碼、電話號碼、Google、Facebook、Twitter 等熱門聯合識別資訊提供者的憑證等進行驗證。

Firebase Authentication 可與其他 Firebase 服務緊密整合,並採用 OAuth 2.0 和 OpenID Connect 等業界標準,因此可輕鬆整合自訂後端。

升級至 Firebase Authentication with Identity Platform 後,您就能使用其他功能,例如多重驗證、封鎖函式、使用者活動和稽核記錄、SAML 和通用 OpenID Connect 支援、多用戶群架構,以及企業級支援。

瞭解如何開始使用

主要功能

您可以使用 FirebaseUI 做為完整的即用型驗證解決方案,也可以使用 Firebase Authentication SDK 手動將一或多個登入方式整合至應用程式,讓使用者登入 Firebase 應用程式。

FirebaseUI Auth
置入式驗證解決方案

建議在應用程式中加入完整的登入系統。

FirebaseUI 提供置入式驗證解決方案,可處理使用者透過電子郵件地址和密碼、電話號碼,以及常用的聯合識別資訊提供者 (包括 Google 登入和 Facebook 登入服務) 登入的 UI 流程。

FirebaseUI 驗證元件會在行動裝置和網站上實作最佳的驗證做法,讓您的應用程式達成最大的登入和註冊轉換成效。此外,它還會處理帳戶救援和帳戶連結等邊緣案例,這些案例可能會影響安全性,且處理不當可能會發生錯誤。

FirebaseUI 可輕鬆自訂,以配合應用程式的其他視覺風格,而且是開放原始碼,因此您可以盡情發揮,打造理想的使用者體驗。

iOS Android 網頁

Firebase SDK 驗證
透過電子郵件和密碼進行驗證

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

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 Realtime Database 和其他 Firebase 服務。

iOS Android 網頁 C++ Unity

匿名驗證

只要建立臨時匿名帳戶,使用者不須先登入即可使用需要驗證身分的功能。如果使用者後續選擇註冊,您可以將匿名帳戶升級至一般帳戶,讓使用者可以繼續使用服務。

iOS Android 網頁 C++ Unity

Firebase Authentication with Identity Platform

Firebase Authentication with Identity Platform 是選用的升級項目,可為 Firebase Authentication 新增多項新功能。

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

Firebase Authentication with Identity Platform 的定價方案與基本產品不同。升級後,免付費 (Spark) 方案專案的每日活躍使用人數上限為 3,000 名,而使用後付費 (Blaze) 方案專案的用量超出免付費額度 (每月 50,000 名活躍使用者) 時,系統就會向您收費。升級前,請務必瞭解帳單相關事宜。

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

功能

多重驗證

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

瞭解如何在 AppleAndroid網頁應用程式中新增 MFA。

阻斷函式

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

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

SAML 和 OpenID Connect 提供者

支援使用無 Firebase 原生支援的 SAML (僅限網頁) 和 OpenID Connect 提供者登入。

瞭解如何在網頁應用程式中加入 SAML 登入功能,以及在 AppleAndroid網頁應用程式中加入 OpenID Connect 登入功能。

使用者活動和稽核記錄

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

升級專案時,您會自動在 Cloud Logging 中啟用管理員活動稽核記錄。您也可以在 Firebase 控制台的「驗證設定」頁面中啟用使用者活動記錄功能。

如要瞭解如何查看及分析記錄,請參閱 Cloud Logging 說明文件

使用 App Check 防範濫用行為

App Check 可防止未經授權的用戶端存取驗證端點,進而保護專案免於遭到濫用。

如要瞭解如何啟用 App Check,請參閱 App Check 說明文件

多租戶

有了用戶群,您就能在單一專案中建立多個獨立的使用者與設定結構。

請參閱 Cloud Identity Platform 說明文件中的「開始使用多用戶群」。

企業支援與服務水準協議

升級後的專案可根據 Identity Platform 服務水準協議 (SLA) 獲得 Auth 服務的保證服務時間,並可使用企業級支援服務。

自動清理匿名使用者資料

您可以選擇啟用自動刪除功能,讓系統自動刪除建立超過 30 天的匿名帳戶。匿名帳戶也不會再計入帳單和用量配額。

用量限制

升級後,Firebase Authentication with Identity Platform 會針對 Firebase Authentication 的使用方式導入新的限制。

免付費 (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 名活躍使用者 每位活躍月使用者 0.015 美元

升級專案

如要將專案升級至 Firebase Authentication with Identity Platform,請開啟 Firebase 主控台的「驗證設定」頁面。

運作原理

連結符合平台規定

如要讓使用者登入應用程式,您必須先向使用者取得驗證憑證。這些憑證可以是使用者的電子郵件地址和密碼,或是來自聯合身分識別提供者的 OAuth 權杖。接著,您將這些憑證傳遞至 Firebase Authentication SDK。接著,我們的後端服務會驗證這些憑證,並傳回回應給用戶端。

成功登入後,您可以存取使用者的個人資料基本資訊,並控制使用者存取其他 Firebase 產品中儲存的資料。您也可以使用提供的驗證權杖,在自有的後端服務中驗證使用者的身分。

實作路徑

使用 FirebaseUI Auth
設定登入方式 如要支援電子郵件地址和密碼或電話號碼登入,以及任何所需的聯合式身分識別資訊提供者,請在 Firebase 控制台中啟用這些功能,並完成身分識別資訊提供者所需的任何設定,例如設定 OAuth 重新導向網址。
自訂登入 UI 您可以設定 FirebaseUI 選項,或在 GitHub 上分支程式碼,進一步自訂登入體驗。
使用 FirebaseUI 執行登入流程 匯入 FirebaseUI 程式庫、指定要支援的登入方法,然後啟動 FirebaseUI 登入流程。
使用 Firebase Authentication SDK
設定登入方式 如要支援電子郵件地址和密碼或電話號碼登入,以及任何所需的聯合式身分識別資訊提供者,請在 Firebase 控制台中啟用這些功能,並完成身分識別資訊提供者所需的任何設定,例如設定 OAuth 重新導向網址。
為登入方法導入 UI 流程 如果是使用電子郵件地址和密碼登入,請實作流程,提示使用者輸入電子郵件地址和密碼。針對電話號碼登入,請建立流程,要求使用者輸入電話號碼,然後輸入他們收到的簡訊中所附代碼。針對聯合登入,請實作各個提供者所需的流程。
將使用者的憑證傳遞至 Firebase Authentication SDK 將使用者的電子郵件地址和密碼,或從聯邦身分提供者取得的 OAuth 權杖,傳遞至 Firebase Authentication SDK。

後續步驟

進一步瞭解Firebase 專案中的使用者,然後查看您要支援的平台和登入服務供應商的入門指南:

iOS+Android網頁FlutterUnityC++管理員

不確定該從何開始嗎?

瞭解如何開始使用