在 Flutter 上使用以密碼為基礎的帳戶向 Firebase 驗證

您可以使用 Firebase 驗證功能,讓使用者透過 使用電子郵件地址和密碼進行 Firebase 作業。

事前準備

  1. 如果您尚未安裝,請按照入門指南中的步驟操作。

  2. 啟用電子郵件/密碼登入功能:

    • 在 Firebase 控制台的「驗證」部分,開啟 登入方式 頁面。
    • 在「Sign in method」頁面中,啟用「Email/password sign-in」 方法並點選「儲存」

建立以密碼為基礎的帳戶

如要使用密碼建立新的使用者帳戶,請呼叫 createUserWithEmailAndPassword() 方法:

try {
  final credential = await FirebaseAuth.instance.createUserWithEmailAndPassword(
    email: emailAddress,
    password: password,
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'weak-password') {
    print('The password provided is too weak.');
  } else if (e.code == 'email-already-in-use') {
    print('The account already exists for that email.');
  }
} catch (e) {
  print(e);
}

您通常可以在應用程式的註冊畫面執行這項操作。新使用者 使用應用程式的申請表單註冊,完成任何新的帳戶驗證 所需步驟,例如驗證新帳戶的密碼 輸入正確,並符合複雜要求。

如果新帳戶成功建立,使用者也會登入。如果發生以下情況: 監聽驗證狀態中的變更 事件便會傳送給事件監聽器。

後續建立新帳戶時 驗證使用者的電子郵件地址

透過電子郵件地址和密碼登入使用者帳戶

使用密碼登入使用者的步驟與 建立新帳戶。在應用程式的登入畫面中,呼叫 signInWithEmailAndPassword():

try {
  final credential = await FirebaseAuth.instance.signInWithEmailAndPassword(
    email: emailAddress,
    password: password
  );
} on FirebaseAuthException catch (e) {
  if (e.code == 'user-not-found') {
    print('No user found for that email.');
  } else if (e.code == 'wrong-password') {
    print('Wrong password provided for that user.');
  }
}

後續步驟

使用者建立新帳戶後,系統會將這個帳戶儲存為您的 Firebase 專案的專用 ID,可用來識別應用程式內所有應用程式的使用者 專案,無論使用者使用的登入方式為何。

在您的應用程式中,您可以透過 User 物件。請參閱管理使用者

在 Firebase 即時資料庫和 Cloud Storage 安全性規則中,您可以 透過 auth 變數取得已登入使用者的不重複使用者 ID,並用於 控制使用者可以存取哪些資料

您可以讓使用者透過多重驗證機制登入您的應用程式 將驗證供應商憑證連結) 現有的使用者帳戶。

如要將使用者登出,請呼叫 signOut()

await FirebaseAuth.instance.signOut();