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 Auth 元件會實作行動裝置和網站驗證的最佳做法,可大幅提高應用程式的登入和註冊轉換率。此外,這項元件也會處理帳戶救援和帳戶連結等極端案例,這些案例可能涉及安全性,且容易出錯,因此必須正確處理。 FirebaseUI可輕鬆自訂,與應用程式的其餘視覺風格相符,而且是開放原始碼,因此您可自由實現所需的使用者體驗。 |
| Firebase Authentication 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 和 Admin 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 控制台的「Authentication Settings」(驗證設定) 頁面啟用使用者活動記錄功能。 如要瞭解如何查看及分析記錄,請參閱 Cloud Logging 說明文件。 |
| 多租戶 |
有了用戶群,您就能在單一專案中建立多個獨立的使用者與設定結構。 請參閱 Cloud Identity Platform 說明文件中的「開始使用多租戶」。 |
| 企業支援與服務水準協議 |
升級後的專案會根據《Identity Platform 服務水準協議 (SLA)》取得「驗證」服務的正常運作時間承諾,並符合升級至企業級支援服務的資格。 |
| 自動清理匿名使用者 |
您可以選擇啟用自動刪除功能,讓系統自動刪除建立超過三十天的匿名帳戶。匿名帳戶也不會再計入計費和用量配額。 |
用量限制
升級後,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 控制台的「Authentication Settings」(驗證設定) 頁面。
運作原理

如要讓使用者登入應用程式,您必須先取得使用者的驗證憑證。這些憑證可以是使用者的電子郵件地址和密碼,也可以是聯合身分識別資訊提供者提供的 OAuth 權杖。然後將這些憑證傳遞至 Firebase Authentication SDK。後端服務會驗證這些憑證,並將回應傳回給用戶端。
成功登入後,您可以存取使用者的基本個人資料資訊,並控管使用者對其他 Firebase 產品中儲存資料的存取權。您也可以使用提供的驗證權杖,在自己的後端服務中驗證使用者身分。
實作方式
| 使用 FirebaseUI Auth | ||
|---|---|---|
| 設定登入方式 | 如要支援電子郵件地址和密碼、電話號碼登入,以及任何聯合身分識別資訊提供者,請在 Firebase 控制台中啟用這些選項,並完成身分識別資訊提供者所需的設定,例如設定 OAuth 重新導向網址。 | |
| 自訂登入 UI | 您可以設定 FirebaseUI 選項來自訂登入 UI,或在 GitHub 上建立程式碼分支,進一步自訂登入體驗。 | |
| 使用 FirebaseUI 執行登入流程 | 匯入 FirebaseUI 程式庫、指定要支援的登入方式,然後啟動 FirebaseUI 登入流程。 | |
| 使用 Firebase Authentication SDK | ||
|---|---|---|
| 設定登入方式 | 如要支援電子郵件地址和密碼或電話號碼登入,以及任何聯合身分識別提供者,請在 Firebase控制台 中啟用這些登入方式,並完成身分識別提供者要求的任何設定,例如設定 OAuth 重新導向網址。 | |
| 實作登入方式的 UI 流程 | 如果是使用電子郵件地址和密碼登入,請實作相關流程,提示使用者輸入電子郵件地址和密碼。如要使用電話號碼登入,請建立流程,提示使用者輸入電話號碼,然後輸入收到的簡訊驗證碼。如果是聯合登入,請實作各供應商所需的流程。 | |
| 將使用者的憑證傳遞至 Firebase Authentication SDK | 將使用者的電子郵件地址和密碼,或從聯合身分識別供應商取得的 OAuth 權杖,傳遞至 Firebase Authentication SDK。 | |
後續步驟
進一步瞭解Firebase專案中的使用者,然後查看您要支援的平台和登入服務供應商入門指南:
iOS+ Android 網頁 Flutter Unity C++ 管理員
不確定該從哪裡著手嗎?