Giới thiệu về API xác thực quản trị viên

SDK quản trị Firebase cho phép bạn tích hợp máy chủ của riêng mình với Xác thực Firebase. Bạn có thể sử dụng SDK quản trị Firebase để quản lý người dùng của mình hoặc quản lý mã thông báo xác thực. Có một số lý do bạn muốn làm điều này:

Quản lý người dùng

Không phải lúc nào cũng thuận tiện khi phải truy cập bảng điều khiển Firebase để quản lý người dùng Firebase của bạn. API quản lý người dùng quản trị viên cung cấp quyền truy cập theo chương trình cho chính những người dùng đó. Nó thậm chí còn cho phép bạn thực hiện những việc mà bảng điều khiển Firebase không thể, chẳng hạn như truy xuất toàn bộ dữ liệu của người dùng và thay đổi mật khẩu, địa chỉ email hoặc số điện thoại của người dùng.

Xác thực tùy chỉnh

Bạn có thể tích hợp hệ thống người dùng bên ngoài với Firebase. Ví dụ: bạn có thể đã có sẵn cơ sở dữ liệu người dùng hoặc bạn có thể muốn tích hợp với nhà cung cấp danh tính bên thứ ba mà Xác thực Firebase vốn không hỗ trợ.

Để làm điều này, bạn có thể tạo mã thông báo tùy chỉnh với các xác nhận quyền sở hữu tùy ý xác định người dùng. Sau đó, các mã thông báo tùy chỉnh này có thể được sử dụng để đăng nhập vào dịch vụ Xác thực Firebase trên ứng dụng khách và giả định danh tính được mô tả bởi các xác nhận quyền sở hữu của mã thông báo. Danh tính này sau đó sẽ được sử dụng khi truy cập các dịch vụ Firebase khác, chẳng hạn như Cloud Storage.

Xác minh danh tính

Xác thực Firebase chủ yếu được sử dụng để xác định người dùng ứng dụng của bạn nhằm hạn chế quyền truy cập vào các dịch vụ khác, như Cloud Storage. Bạn cũng có thể sử dụng dịch vụ để xác định những người dùng này trên máy chủ của riêng bạn. Điều này cho phép bạn thực hiện logic phía máy chủ một cách an toàn thay mặt cho người dùng đã đăng nhập bằng Xác thực Firebase.

Để thực hiện việc này, bạn có thể truy xuất mã thông báo ID từ ứng dụng khách đã đăng nhập bằng Xác thực Firebase và đưa mã thông báo vào yêu cầu tới máy chủ của bạn. Sau đó, máy chủ của bạn sẽ xác minh mã thông báo ID và trích xuất các xác nhận quyền sở hữu xác định danh tính người dùng (bao gồm uid của họ, nhà cung cấp danh tính mà họ đã đăng nhập, v.v.). Thông tin nhận dạng này sau đó có thể được máy chủ của bạn sử dụng để thực hiện các hành động thay mặt cho người dùng.

SDK quản trị Firebase cung cấp các phương pháp để hoàn thành các tác vụ xác thực ở trên bằng cách cho phép bạn quản lý người dùng của mình, tạo mã thông báo tùy chỉnh và xác minh mã thông báo ID.

Khiếu nại của người dùng tùy chỉnh

Trong một số trường hợp, bạn có thể muốn triển khai kiểm soát truy cập chi tiết cho người dùng đã đăng nhập bằng một trong những nhà cung cấp xác thực Firebase được hỗ trợ như Email/Mật khẩu, Google, Facebook, điện thoại, v.v. Sự kết hợp giữa xác nhận quyền sở hữu của người dùng tùy chỉnh và bảo mật ứng dụng quy tắc cung cấp khả năng này. Ví dụ: người dùng đã đăng nhập bằng nhà cung cấp Mật khẩu và Email xác thực Firebase có thể có quyền kiểm soát quyền truy cập được xác định bằng cách sử dụng xác nhận quyền sở hữu tùy chỉnh.

Quản lý người dùng

SDK quản trị Firebase cung cấp API để quản lý người dùng Firebase của bạn với các đặc quyền nâng cao. API quản lý người dùng quản trị viên cung cấp cho bạn khả năng truy xuất, tạo, cập nhật và xóa người dùng theo chương trình mà không yêu cầu thông tin xác thực hiện có của người dùng và không phải lo lắng về giới hạn tốc độ phía máy khách.

Quản lý người dùng

Tạo mã thông báo tùy chỉnh

Mục đích sử dụng chính để tạo mã thông báo tùy chỉnh là cho phép người dùng xác thực dựa trên cơ chế xác thực bên ngoài hoặc cơ chế xác thực kế thừa. Đây có thể là thứ bạn kiểm soát, chẳng hạn như máy chủ LDAP hoặc nhà cung cấp OAuth bên thứ ba mà Firebase không hỗ trợ, chẳng hạn như Instagram hoặc LinkedIn.

SDK quản trị Firebase có phương pháp tích hợp sẵn để tạo mã thông báo tùy chỉnh. Bạn cũng có thể tạo mã thông báo tùy chỉnh bằng bất kỳ ngôn ngữ nào theo chương trình bằng thư viện JWT của bên thứ ba.

Máy chủ của bạn phải tạo mã thông báo tùy chỉnh có mã định danh duy nhất ( uid ) và chuyển mã thông báo đó đến ứng dụng khách, ứng dụng này sẽ sử dụng mã thông báo đó để đăng nhập vào Firebase. Xem Tạo mã thông báo tùy chỉnh cho mẫu mã và biết thêm chi tiết về quy trình tạo mã thông báo tùy chỉnh.

Tạo mã thông báo tùy chỉnh

Xác minh mã thông báo ID

Nếu ứng dụng khách Firebase của bạn giao tiếp với máy chủ phụ trợ, bạn có thể cần xác định người dùng hiện đã đăng nhập trên máy chủ của mình để có thể thay mặt họ thực hiện logic phía máy chủ. Bạn có thể thực hiện việc này một cách an toàn bằng cách sử dụng mã thông báo ID do Firebase tạo khi người dùng đăng nhập vào ứng dụng Firebase. Mã thông báo ID tuân theo thông số OpenID Connect và chứa dữ liệu để nhận dạng người dùng cũng như một số thông tin liên quan đến hồ sơ và xác thực khác. Bạn có thể gửi, xác minh và kiểm tra các mã thông báo này từ chương trình phụ trợ của riêng bạn. Điều này cho phép bạn xác định một cách an toàn người dùng hiện đã đăng nhập và ủy quyền cho họ sử dụng tài nguyên phụ trợ của riêng bạn.

SDK quản trị Firebase có phương pháp tích hợp để xác minh mã thông báo ID. Bạn cũng có thể xác minh mã thông báo ID theo chương trình bằng bất kỳ ngôn ngữ nào bằng thư viện JWT của bên thứ ba. Xem Xác minh mã thông báo ID để biết thêm chi tiết và mẫu mã về quy trình xác minh mã thông báo ID.

Xác minh mã thông báo ID

Khiếu nại của người dùng tùy chỉnh

SDK quản trị Firebase cho phép bạn đặt thuộc tính tùy chỉnh trên tài khoản người dùng. Với xác nhận quyền sở hữu của người dùng tùy chỉnh, bạn có thể cung cấp cho người dùng các cấp độ truy cập (vai trò) khác nhau, sau đó được thực thi theo quy tắc bảo mật của ứng dụng.

Sau khi các xác nhận quyền sở hữu tùy chỉnh được sửa đổi trên người dùng thông qua SDK quản trị Firebase, chúng sẽ được truyền tới người dùng được xác thực ở phía máy khách thông qua mã thông báo ID của họ. Mã thông báo ID là một cơ chế đáng tin cậy để phân phối các xác nhận quyền sở hữu tùy chỉnh này và tất cả quyền truy cập được xác thực phải xác thực mã thông báo ID trước khi xử lý yêu cầu liên quan.

Kiểm soát quyền truy cập bằng xác nhận quyền sở hữu tùy chỉnh