Google is committed to advancing racial equity for Black communities. See how.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Người dùng trong các dự án Firebase

Đối tượng người dùng Firebase đại diện cho tài khoản người dùng đã đăng ký một ứng dụng trong dự án của bạn. Ứng dụng thường có nhiều người dùng đã đăng ký và mọi ứng dụng trong dự án đều chia sẻ cơ sở dữ liệu người dùng.

Các phiên bản người dùng độc lập với các phiên bản Xác thực Firebase, vì vậy bạn có thể có một số tham chiếu đến những người dùng khác nhau trong cùng một bối cảnh và vẫn gọi bất kỳ phương thức nào của họ.

Thuộc tính người dùng

Người dùng Firebase có một tập hợp các thuộc tính cơ bản cố định. ID duy nhất, địa chỉ email chính, tên và URL ảnh được lưu trữ trong cơ sở dữ liệu người dùng của dự án, có thể được người dùng cập nhật ( iOS , Android , web ). Bạn không thể thêm các thuộc tính khác vào đối tượng người dùng trực tiếp; thay vào đó, bạn có thể lưu trữ các thuộc tính bổ sung trong bất kỳ dịch vụ lưu trữ nào khác, như Google Cloud Firestore.

Lần đầu tiên người dùng đăng ký ứng dụng của bạn, dữ liệu hồ sơ của người dùng được điền bằng thông tin có sẵn:

  • Nếu người dùng đăng ký bằng địa chỉ email và mật khẩu, chỉ có thuộc tính địa chỉ email chính được điền
  • Nếu người dùng đã đăng ký với nhà cung cấp nhận dạng được liên kết, chẳng hạn như Google hoặc Facebook, thông tin tài khoản được cung cấp bởi nhà cung cấp sẽ được sử dụng để điền vào hồ sơ của người dùng
  • Nếu người dùng đã đăng ký với hệ thống xác thực tùy chỉnh của bạn, bạn phải thêm rõ ràng thông tin bạn muốn vào hồ sơ người dùng

Khi tài khoản người dùng đã được tạo, bạn có thể tải lại thông tin của người dùng để kết hợp mọi thay đổi mà người dùng có thể đã thực hiện trên thiết bị khác.

Nhà cung cấp đăng nhập

Bạn có thể đăng nhập người dùng vào ứng dụng của mình bằng một số phương pháp: địa chỉ email và mật khẩu, nhà cung cấp nhận dạng được liên kết và hệ thống xác thực tùy chỉnh của bạn. Bạn có thể liên kết nhiều phương thức đăng nhập với người dùng: ví dụ: người dùng có thể đăng nhập vào cùng một tài khoản bằng địa chỉ email và mật khẩu hoặc sử dụng Đăng nhập Google.

Các trường hợp người dùng theo dõi mọi nhà cung cấp được liên kết với người dùng. Điều này cho phép bạn cập nhật các thuộc tính của hồ sơ trống bằng cách sử dụng thông tin được cung cấp bởi nhà cung cấp. Xem Quản lý người dùng ( iOS , Android , web ).

Người dùng hiện tại

Khi người dùng đăng ký hoặc đăng nhập, người dùng đó sẽ trở thành người dùng hiện tại của phiên bản Auth. Ví dụ vẫn tồn tại trạng thái của người dùng, do đó, làm mới trang (trong trình duyệt) hoặc khởi động lại ứng dụng sẽ không làm mất thông tin của người dùng.

Khi người dùng đăng xuất, đối tượng Auth dừng giữ tham chiếu đến đối tượng người dùng và không còn tồn tại trạng thái của nó; không có người dùng hiện tại Tuy nhiên, phiên bản người dùng tiếp tục hoàn toàn hoạt động: nếu bạn giữ một tham chiếu đến nó, bạn vẫn có thể truy cập và cập nhật dữ liệu của người dùng.

Vòng đời người dùng

Cách được đề xuất để theo dõi trạng thái hiện tại của phiên bản Auth là sử dụng trình nghe (còn được gọi là "trình quan sát" trong JavaScript). Trình nghe Auth được thông báo bất cứ khi nào có điều gì đó liên quan đến đối tượng Auth. Xem Quản lý người dùng ( iOS , Android , web ).

Người nghe Auth sẽ được thông báo trong các tình huống sau:

  • Đối tượng Auth kết thúc quá trình khởi tạo và người dùng đã đăng nhập từ phiên trước hoặc đã được chuyển hướng từ luồng đăng nhập của nhà cung cấp nhận dạng
  • Một người dùng đăng nhập (người dùng hiện tại được đặt)
  • Một người dùng đăng xuất (người dùng hiện tại trở thành null)
  • Mã thông báo truy cập hiện tại của người dùng được làm mới. Trường hợp này có thể xảy ra trong các điều kiện sau đây:
    • Mã thông báo truy cập hết hạn: đây là tình huống phổ biến. Mã thông báo làm mới được sử dụng để có được một bộ mã thông báo hợp lệ mới.
    • Người dùng thay đổi mật khẩu của họ: Firebase cấp quyền truy cập mới và làm mới mã thông báo và kết xuất mã thông báo cũ đã hết hạn. Điều này tự động hết hạn mã thông báo của người dùng và / hoặc đăng xuất người dùng trên mọi thiết bị, vì lý do bảo mật.
    • Người dùng xác thực lại: một số hành động yêu cầu thông tin đăng nhập của người dùng được cấp gần đây; những hành động này bao gồm xóa tài khoản, đặt địa chỉ email chính và thay đổi mật khẩu. Thay vì đăng xuất người dùng và sau đó đăng nhập lại người dùng, hãy lấy thông tin đăng nhập mới từ người dùng và chuyển thông tin đăng nhập mới cho phương thức xác nhận lại của đối tượng người dùng.

Xác thực mã thông báo

Khi bạn thực hiện xác thực với Firebase, có ba loại mã xác thực bạn có thể gặp:

Mã thông báo ID căn cứ Được tạo bởi Firebase khi người dùng đăng nhập vào một ứng dụng. Các mã thông báo này được ký JWT xác định an toàn người dùng trong dự án Firebase. Các mã thông báo này chứa thông tin tiểu sử cơ bản cho người dùng, bao gồm chuỗi ID của người dùng, là duy nhất cho dự án Firebase. Vì tính toàn vẹn của mã thông báo ID có thể được xác minh , bạn có thể gửi chúng đến máy chủ phụ trợ để xác định người dùng hiện đang đăng nhập.
Mã thông báo nhà cung cấp nhận dạng Được tạo bởi các nhà cung cấp nhận dạng liên kết, chẳng hạn như Google và Facebook. Các mã thông báo này có thể có các định dạng khác nhau, nhưng thường là các mã thông báo truy cập OAuth 2.0. Các ứng dụng sử dụng các mã thông báo này để xác minh rằng người dùng đã xác thực thành công với nhà cung cấp nhận dạng và sau đó chuyển đổi chúng thành thông tin có thể sử dụng được bởi các dịch vụ Firebase.
Mã thông báo tùy chỉnh Firebase Được tạo bởi hệ thống xác thực tùy chỉnh của bạn để cho phép người dùng đăng nhập vào một ứng dụng bằng hệ thống xác thực của bạn. Mã thông báo tùy chỉnh là JWT được ký bằng khóa riêng của tài khoản dịch vụ . Ứng dụng sử dụng các mã thông báo này giống như họ sử dụng mã thông báo được trả lại từ các nhà cung cấp nhận dạng được liên kết.