您可以修改驗證伺服器,在使用者成功登入時產生自訂簽署權杖,藉此將 Firebase 驗證與自訂驗證系統整合。應用程式會收到這個權杖,並用來向 Firebase 進行驗證。
事前準備
- 如果尚未建立新的地圖 ID 和地圖樣式,請按照「開始使用」一文中的步驟進行。
- 安裝及設定 Firebase Admin SDK。 請務必使用 Firebase 專案的正確憑證初始化 SDK。
使用 Firebase 進行驗證
使用者登入應用程式時,請將登入憑證 (例如使用者名稱和密碼) 傳送至驗證伺服器。伺服器會檢查憑證,如果有效,就會建立自訂 Firebase 權杖,並將權杖傳回應用程式。
從驗證伺服器收到自訂權杖後,請將權杖傳遞至
signInWithCustomToken(),登入使用者:try { final userCredential = await FirebaseAuth.instance.signInWithCustomToken(token); print("Sign-in successful."); } on FirebaseAuthException catch (e) { switch (e.code) { case "invalid-custom-token": print("The supplied token is not a Firebase custom auth token."); break; case "custom-token-mismatch": print("The supplied token is for a different Firebase project."); break; default: print("Unknown error."); } }
後續步驟
使用者建立新帳戶後,該帳戶會儲存在 Firebase 專案中,並可用於識別專案中每個應用程式的使用者,無論使用者採用哪種登入方式。
在應用程式中,您可以從 User 物件取得使用者的基本個人資料資訊。請參閱「管理使用者」。
在 Firebase 即時資料庫和 Cloud Storage 安全性規則中,您可以從 auth 變數取得已登入使用者的專屬使用者 ID,並用來控管使用者可存取的資料。
您可以將驗證供應商憑證連結至現有使用者帳戶,讓使用者透過多個驗證供應商登入應用程式。
如要登出使用者,請呼叫 signOut():
await FirebaseAuth.instance.signOut();