Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Xác thực với Firebase bằng Tài khoản dựa trên mật khẩu bằng Javascript

Bạn có thể sử dụng Xác thực Firebase để cho phép người dùng của mình xác thực với Firebase bằng địa chỉ email và mật khẩu của họ, đồng thời để quản lý các tài khoản dựa trên mật khẩu của ứng dụng của bạn.

Trước khi bắt đầu

  1. Thêm căn cứ hỏa lực cho dự án JavaScript của bạn .
  2. Nếu bạn chưa kết nối với ứng dụng của bạn để dự án căn cứ hỏa lực của bạn, làm như vậy từ các căn cứ hỏa lực console .
  3. Bật đăng nhập Email / Mật khẩu:
    1. Trong căn cứ hỏa lực console , hãy mở phần Auth.
    2. Trên Đăng nhập tab phương pháp, cho phép đăng nhập Email / mật khẩu phương pháp và nhấn Save.

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 hoàn thành các bước sau trong trang đăng ký ứng dụng của bạn:

  1. Khi người dùng mới đăng ký bằng biểu mẫu đăng ký ứng dụng của bạn, hãy hoàn thành 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 phức tạp của bạn.
  2. Tạo một tài khoản mới bằng cách thông qua địa chỉ email và mật khẩu của người dùng mới để createUserWithEmailAndPassword :

    Phiên bản web 9

    import { getAuth, createUserWithEmailAndPassword } from "firebase/auth";
    
    const auth = getAuth();
    createUserWithEmailAndPassword(auth, email, password)
      .then((userCredential) => {
        // Signed in 
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
        // ..
      });

    Phiên bản web 8

    firebase.auth().createUserWithEmailAndPassword(email, password)
      .then((userCredential) => {
        // Signed in 
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
        // ..
      });
    Nếu tài khoản mới được tạo, người dùng sẽ tự động đăng nhập. Hãy xem phần Các bước tiếp theo bên dưới để biết thông tin chi tiết về người dùng đã đăng nhập.

    Đây cũng là nơi bạn có thể nắm bắt và xử lý lỗi. Đối với một danh sách các mã lỗi có một cái nhìn tại Auth Reference Documents .

Đă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. Trong trang đăng nhập ứng dụng của bạn, hãy làm như sau:

  1. Khi một người dùng đăng nhập vào ứng dụng của bạn, vượt qua địa chỉ email và mật khẩu của người dùng để signInWithEmailAndPassword :

    Phiên bản web 9

    import { getAuth, signInWithEmailAndPassword } from "firebase/auth";
    
    const auth = getAuth();
    signInWithEmailAndPassword(auth, email, password)
      .then((userCredential) => {
        // Signed in 
        const user = userCredential.user;
        // ...
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
      });

    Phiên bản web 8

    firebase.auth().signInWithEmailAndPassword(email, password)
      .then((userCredential) => {
        // Signed in
        var user = userCredential.user;
        // ...
      })
      .catch((error) => {
        var errorCode = error.code;
        var errorMessage = error.message;
      });
    Hãy xem phần Các bước tiếp theo bên dưới để biết thông tin chi tiết về người dùng đã đăng nhập.

    Đây cũng là nơi bạn có thể nắm bắt và xử lý lỗi. Đối với một danh sách các mã lỗi có một cái nhìn tại Auth Reference Documents .

Bước tiếp theo

Sau khi người dùng đăng nhập lần đầu tiên, một tài khoản người dùng mới sẽ được tạo và liên kết với thông tin đăng nhập — nghĩa là tên người dùng và mật khẩu, số điện thoại hoặc thông tin nhà cung cấp xác thực — người dùng đã đăng nhập bằng. Tài khoản mới này được lưu trữ như một phần của dự án Firebase của bạn và có thể được sử 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 đăng nhập bằng cách nào.

  • Trong các ứng dụng của bạn, cách đề nghị để biết tình trạng auth của người dùng của bạn là để thiết lập một quan sát viên trên Auth đối tượng. Sau đó bạn có thể nhận được thông tin hồ sơ cơ bản của người dùng từ các User đối tượng. Xem Quản lý người dùng .

  • Trong Cơ sở dữ liệu căn cứ hỏa lực Realtime của bạn và lưu trữ đám mây Security Rules , bạn có thể nhận được đã đăng nhập của người sử dụng ID người dùng duy nhất từ auth biến, và sử dụng nó để kiểm soát dữ liệu 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 sử dụng nhiều nhà cung cấp chứng thực bởi liên kết auth thông tin cung cấp cho một tài khoản người dùng hiện có.

Đăng xuất khỏi một người sử dụng, hãy gọi signOut :

Phiên bản web 9

import { getAuth, signOut } from "firebase/auth";

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

Phiên bản web 8

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});