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 可輕鬆自訂,與應用程式的其餘視覺風格相符,而且是開放原始碼,因此您可不受限制地實現所需的使用者體驗。 |
Firebase Authentication SDK | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
透過電子郵件和密碼進行驗證 | 透過使用者的電子郵件地址和密碼驗證使用者。Firebase Authentication SDK 提供多種方法,可建立及管理使用電子郵件地址和密碼登入的使用者。Firebase Authentication 也會處理傳送密碼重設電子郵件。 |
||||||||||
整合聯合身分識別提供者 | 與聯合身分識別資訊提供者整合,驗證使用者。 Firebase Authentication SDK 提供的方法可讓使用者以自己的 Google、Facebook、Twitter 和 GitHub 帳戶登入。
|
||||||||||
電話號碼驗證 | 透過傳送簡訊到使用者手機來驗證身分。 |
||||||||||
自訂驗證機制的整合作業 |
將您應用程式現有的登入機制與 Firebase Authentication SDK 連結,即可存取 Firebase Realtime Database 和其他 Firebase 服務。 |
||||||||||
匿名驗證 | 只要建立臨時匿名帳戶,使用者不須先登入即可使用需要驗證身分的 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 說明文件。 |
多租戶 |
有了用戶群,你就能在單一專案中建立多個獨立的使用者與設定結構。 請參閱 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++ 管理員
不確定該從哪裡著手嗎?