Bạn có thể sử dụng Xác thực Firebase để cho phép người dùng xác thực bằng Firebase bằng địa chỉ email và mật khẩu.
Trước khi bắt đầu
Nếu bạn chưa làm, hãy làm theo các bước trong hướng dẫn Bắt đầu.
Bật tính năng đăng nhập bằng email/mật khẩu:
- Trong mục Xác thực của bảng điều khiển Firebase, hãy mở trang Phương thức đăng nhập.
 - Trên trang Phương thức đăng nhập, hãy bật phương thức Đăng nhập bằng email/mật khẩu rồi nhấp vào Lưu.
 
Tạo tài khoản dựa trên mật khẩu
Để tạo tài khoản người dùng mới bằng mật khẩu, hãy gọi phương thức 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);
}
Thông thường, bạn sẽ thực hiện việc này trên màn hình đăng ký của ứng dụng. Khi người dùng mới đăng ký bằng biểu mẫu đăng ký của ứng dụng, hãy hoàn tất mọi bước xác thực tài khoản mới mà ứng dụng của bạn yêu cầu, chẳng hạn như xác minh rằng mật khẩu của tài khoản mới đã được nhập chính xác và đáp ứng các yêu cầu về độ phức tạp.
Nếu tạo thành công tài khoản mới, người dùng cũng sẽ đăng nhập. Nếu bạn đang theo dõi các thay đổi về trạng thái xác thực, một sự kiện mới sẽ được gửi đến các trình nghe của bạn.
Sau khi tạo tài khoản mới, bạn có thể Xác minh địa chỉ email của người dùng.
Đăng nhập người dùng bằng địa chỉ email và mật khẩu
Các bước đăng nhập người dùng bằng mật khẩu tương tự như các bước tạo tài khoản mới. Trên màn hình đăng nhập của ứng dụng, hãy gọi 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.');
  }
}
Các bước tiếp theo
Sau khi người dùng tạo một tài khoản mới, tài khoản này sẽ được lưu trữ trong dự án Firebase của bạn và có thể dùng để xác định người dùng trên mọi ứng dụng trong dự án của bạn, bất kể người dùng đã sử dụng phương thức đăng nhập nào.
Trong các ứng dụng, bạn có thể lấy thông tin cơ bản về hồ sơ của người dùng từ đối tượng User. Hãy xem phần Quản lý người dùng.
Trong Cơ sở dữ liệu theo thời gian thực của Firebase và Quy tắc bảo mật của Bộ nhớ đám mây, bạn có thể lấy mã nhận dạng người dùng duy nhất của người dùng đã đăng nhập từ biến auth và sử dụng mã nhận dạng đó để kiểm soát dữ liệu mà người dùng có thể truy cập.
Bạn có thể cho phép người dùng đăng nhập vào ứng dụng của bạn bằng nhiều trình cung cấp dịch vụ xác thực bằng cách liên kết thông tin đăng nhập của trình cung cấp dịch vụ xác thực với một tài khoản người dùng hiện có.
Để đăng xuất người dùng, hãy gọi signOut():
await FirebaseAuth.instance.signOut();