您可以使用 Firebase 驗證,讓使用者透過電子郵件地址和密碼向 Firebase 進行驗證。
事前準備
如果尚未建立新的地圖 ID 和地圖樣式,請按照「開始使用」一文中的步驟進行。
啟用電子郵件地址/密碼登入功能:
建立密碼帳戶
如要建立新的使用者帳戶並設定密碼,請呼叫 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 專案中,並可用於識別專案中每個應用程式的使用者,無論使用者採用哪種登入方式。
在應用程式中,您可以從 User 物件取得使用者的基本個人資料資訊。請參閱「管理使用者」。
在 Firebase 即時資料庫和 Cloud Storage 安全性規則中,您可以從 auth 變數取得已登入使用者的專屬使用者 ID,並用來控管使用者可存取的資料。
您可以將驗證供應商憑證連結至現有使用者帳戶,讓使用者透過多個驗證供應商登入應用程式。
如要登出使用者,請呼叫 signOut():
await FirebaseAuth.instance.signOut();