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 thực hiện, 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 phần 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 từ 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 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 đúng và đáp ứng các yêu cầu về độ phức tạp.
Nếu tài khoản mới được tạo thành công, 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, thì một sự kiện mới sẽ được gửi đến các trình nghe.
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 cho người dùng bằng địa chỉ email và mật khẩu
Các bước đăng nhập cho 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 tài khoản mới, tài khoản này sẽ được lưu trữ như một phần của dự án Firebase và có thể dùng để xác định người dùng trên mọi ứng dụng trong dự án, bất kể phương thức đăng nhập mà người dùng đã sử dụng.
Trong ứ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. Xem bài viết Quản lý người dùng.
Trong Quy tắc bảo mật của Cơ sở dữ liệu theo thời gian thực của Firebase và Cloud Storage, 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ã này để 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 bằng nhiều nhà cung cấp dịch vụ xác thực bằng cách liên kết thông tin xác thực của nhà cung cấp dịch vụ xác thực) với 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();