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 可輕鬆自訂,以配合應用程式的其他視覺風格,而且是開放原始碼,因此您可以盡情發揮,打造理想的使用者體驗。 |
Firebase SDK 驗證 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
透過電子郵件和密碼進行驗證 | 透過使用者的電子郵件地址和密碼驗證使用者。Firebase Authentication SDK 提供方法,可讓您建立及管理使用電子郵件地址和密碼登入的使用者。Firebase Authentication 也會處理密碼重設電子郵件的傳送作業。 |
||||||||||
整合聯合身分識別資訊提供者 | 整合聯合識別資訊提供者,驗證使用者。Firebase Authentication SDK 提供方法,讓使用者可以使用 Google、Facebook、Twitter 和 GitHub 帳戶登入。
|
||||||||||
電話號碼驗證 | 透過傳送簡訊至使用者的手機來驗證使用者。 |
||||||||||
整合自訂驗證機制 |
將您應用程式現有的登入機制與 Firebase Authentication SDK 連結,即可存取 Firebase Realtime Database 和其他 Firebase 服務。 |
||||||||||
匿名驗證 | 只要建立臨時匿名帳戶,使用者不須先登入即可使用需要驗證身分的功能。如果使用者後續選擇註冊,您可以將匿名帳戶升級至一般帳戶,讓使用者可以繼續使用服務。 |
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 名活躍使用者) 時,系統就會向您收費。升級前,請務必瞭解帳單相關事宜。
請參閱下方說明,進一步瞭解新功能、價格和限制。
功能
多重驗證 |
透過簡訊進行多重驗證,可為應用程式增添第二層安全防護機制,進而保護使用者資料。 |
阻斷函式 |
封鎖函式可讓您執行自訂程式碼,藉此修改使用者註冊或登入應用程式的結果。 |
SAML 和 OpenID Connect 提供者 |
支援使用無 Firebase 原生支援的 SAML (僅限網頁) 和 OpenID Connect 提供者登入。 瞭解如何在網頁應用程式中加入 SAML 登入功能,以及在 Apple、Android 和 網頁應用程式中加入 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、網頁、Flutter、Unity、C++、管理員
不確定該從何開始嗎?