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 支援、多用戶群架構,以及企業級支援。

瞭解如何開始使用

主要功能

您可以透過以下方式,讓使用者登入 Firebase 應用程式:使用 FirebaseUI 做為完整的登入解決方案,或使用 Firebase Authentication SDK 手動在應用程式中整合一或多種登入方式。

FirebaseUI Auth
置入式驗證解決方案

建議您使用這種方式,在應用程式中加入完整的登入系統。

FirebaseUI 提供置入式驗證解決方案,無論是使用電子郵件地址和密碼、電話號碼的使用者,還是透過常用聯合識別資訊提供者 (包括 Google 登入和 Facebook 登入服務) 登入的使用者,都能享有流暢的 UI 操作流程。

FirebaseUI 驗證元件會在行動裝置和網站上實作最佳的驗證做法,讓您的應用程式達成最大的登入和註冊轉換成效。此外,這個元件也會處理帳戶救援和帳戶連結等極端情況,確保這些容易出錯的程序能正確執行,避免安全問題。

FirebaseUI 可輕鬆自訂,與應用程式的其餘視覺風格相符,而且是開放原始碼,因此您可不受限制地實現所需的使用者體驗。

iOS Android 網頁

Firebase Authentication 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

匿名驗證

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

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 說明文件

多租戶

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

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

企業支援與服務水準協議

升級後的專案可享有驗證服務的運作時間保證,詳情請參閱 Identity Platform 服務水準協議 (SLA),並有資格升級至企業級支援服務。

自動清除匿名使用者

如果匿名帳戶建立至今超過 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 選項來自訂登入 UI,也可以在 GitHub 上將程式碼分叉,進一步自訂登入體驗。
使用 FirebaseUI 執行登入流程 匯入 FirebaseUI 程式庫、指定要支援的登入方法,然後啟動 FirebaseUI 登入流程。
使用 Firebase Authentication SDK
設定登入方式 如要支援電子郵件地址和密碼或電話號碼登入,以及任何同盟身分識別供應商,請在 Firebase控制台中啟用這些選項,並完成身分識別供應商要求的任何設定,例如設定 OAuth 重新導向網址。
為登入方法實作 UI 流程 如果是使用電子郵件地址和密碼登入,請實作提示使用者輸入電子郵件地址和密碼的流程。如果是使用電話號碼登入,請建立流程,提示使用者輸入電話號碼,然後輸入他們收到的簡訊驗證碼。如果是同盟登入,請實作各供應商要求的流程。
將使用者的憑證傳遞至 Firebase Authentication SDK 將使用者的電子郵件地址和密碼,或從同盟身分識別提供者取得的 OAuth 權杖,傳遞至 Firebase Authentication SDK。

後續步驟

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

iOS+ Android 網頁 Flutter Unity C++ 管理員

不確定該從哪裡著手嗎?

瞭解如何開始使用