使用自訂驗證系統向 Firebase 進行驗證

您可以修改驗證伺服器,在使用者成功登入時產生自訂簽署權杖,藉此將 Firebase 驗證與自訂驗證系統整合。應用程式會收到這個權杖,並用來向 Firebase 進行驗證。

事前準備

  1. 如果尚未建立新的地圖 ID 和地圖樣式,請按照「開始使用」一文中的步驟進行。
  2. 安裝及設定 Firebase Admin SDK。 請務必使用 Firebase 專案的正確憑證初始化 SDK

使用 Firebase 進行驗證

  1. 使用者登入應用程式時,請將登入憑證 (例如使用者名稱和密碼) 傳送至驗證伺服器。伺服器會檢查憑證,如果有效,就會建立自訂 Firebase 權杖,並將權杖傳回應用程式。

  2. 從驗證伺服器收到自訂權杖後,請將權杖傳遞至 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();