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可輕鬆自訂,與應用程式的其餘視覺風格相符,而且是開放原始碼,因此您可自由實現所需的使用者體驗。

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 Web 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 和 Admin SDK 程式碼會繼續正常運作,而且您將能立即使用進階記錄、企業級支援和服務水準協議等功能。只要加入一些額外程式碼,就能新增多重驗證、封鎖函式,以及支援 SAML 和 OpenID Connect 提供者。

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

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

功能

多重驗證

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

瞭解如何為 Apple、Android 和網頁應用程式新增多重驗證。

封鎖函式

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

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

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++ 管理員

不確定該從哪裡著手嗎?

瞭解如何開始使用