Firebase Authentication

Hầu hết các ứng dụng đều cần biết danh tính của người dùng. Khi biết danh tính của người dùng, ứng dụng có thể lưu dữ liệu người dùng một cách an toàn vào đám mây và cung cấp cùng một trải nghiệm được cá nhân hoá trên tất cả thiết bị của người dùng.

Firebase Authentication cung cấp các dịch vụ phụ trợ, SDK dễ sử dụng và thư viện giao diện người dùng tạo sẵn để xác thực người dùng cho ứng dụng của bạn. Thư viện này hỗ trợ xác thực bằng mật khẩu, số điện thoại, các nhà cung cấp danh tính liên kết phổ biến như Google, Facebook và Twitter, v.v.

Firebase Authentication tích hợp chặt chẽ với các dịch vụ Firebase khác và tận dụng các tiêu chuẩn trong ngành như OAuth 2.0 và OpenID Connect, nhờ đó có thể dễ dàng tích hợp với phần phụ trợ tuỳ chỉnh của bạn.

Khi nâng cấp lên Firebase Authentication with Identity Platform, bạn sẽ có thêm các tính năng khác, chẳng hạn như xác thực đa yếu tố, các hàm chặn, hoạt động của người dùng và ghi nhật ký kiểm tra, hỗ trợ SAML và OpenID Connect chung, nhiều phiên bản và hỗ trợ cấp doanh nghiệp.

Tìm hiểu cách bắt đầu

Các chức năng chính

Bạn có thể đăng nhập người dùng vào ứng dụng Firebase bằng cách sử dụng FirebaseUI làm giải pháp xác thực thả vào hoàn chỉnh hoặc bằng cách sử dụng SDK Firebase Authentication để tích hợp một hoặc nhiều phương thức đăng nhập vào ứng dụng theo cách thủ công.

Xác thực FirebaseUI
Giải pháp xác thực thả vào

Cách nên dùng để thêm hệ thống đăng nhập đầy đủ vào ứng dụng.

FirebaseUI cung cấp một giải pháp xác thực thả vào để xử lý các luồng giao diện người dùng cho việc đăng nhập người dùng bằng địa chỉ email và mật khẩu, số điện thoại, cũng như với các nhà cung cấp danh tính liên kết phổ biến, bao gồm cả tính năng Đăng nhập bằng Google và Đăng nhập bằng Facebook.

Thành phần Auth FirebaseUI triển khai các phương pháp hay nhất để xác thực trên thiết bị di động và trang web, giúp tối đa hoá lượt chuyển đổi đăng nhập và đăng ký cho ứng dụng của bạn. Thành phần này cũng xử lý các trường hợp đặc biệt như khôi phục tài khoản và liên kết tài khoản có thể nhạy cảm về bảo mật và dễ xảy ra lỗi khi xử lý.

Bạn có thể dễ dàng tuỳ chỉnh FirebaseUI để phù hợp với phần còn lại của phong cách hình ảnh trong ứng dụng. Ngoài ra, FirebaseUI là mã nguồn mở nên bạn không bị ràng buộc trong việc hiện thực hoá trải nghiệm người dùng mà mình mong muốn.

iOS Android Web

Firebase Xác thực SDK
Xác thực dựa trên email và mật khẩu

Xác thực người dùng bằng địa chỉ email và mật khẩu của họ. SDK Firebase Authentication cung cấp các phương thức để tạo và quản lý những người dùng sử dụng địa chỉ email và mật khẩu để đăng nhập. Firebase Authentication cũng xử lý việc gửi email đặt lại mật khẩu.

iOS Android Web C++ Unity

Tích hợp nhà cung cấp danh tính liên kết

Xác thực người dùng bằng cách tích hợp với các nhà cung cấp danh tính được liên kết. SDK Firebase Authentication cung cấp các phương thức cho phép người dùng đăng nhập bằng tài khoản Google, Facebook, Twitter và GitHub.

Đăng nhập bằng Google iOS Android Web C++ Unity
Đăng nhập bằng Apple iOS Android Web C++ Unity
Facebook iOS Android Web C++ Unity
Twitter iOS Android Web C++ Unity
GitHub iOS Android Web C++ Unity
Xác thực số điện thoại

Xác thực người dùng bằng cách gửi tin nhắn SMS đến điện thoại của họ.

iOS Android Web C++ Unity

Tích hợp hệ thống xác thực tuỳ chỉnh

Kết nối hệ thống đăng nhập hiện có của ứng dụng với SDK Firebase Authentication và có quyền truy cập vào Firebase Realtime Database và các dịch vụ Firebase khác.

iOS Android Web C++ Unity

Xác thực ẩn danh

Sử dụng các tính năng yêu cầu xác thực mà không yêu cầu người dùng đăng nhập trước bằng cách tạo tài khoản tạm thời ẩn danh. Nếu sau đó người dùng chọn đăng ký, bạn có thể nâng cấp tài khoản ẩn danh lên tài khoản thông thường để người dùng có thể tiếp tục từ nơi họ đã dừng lại.

iOS Android Web C++ Unity

Firebase Authentication with Identity Platform

Firebase Authentication with Identity Platform là một bản nâng cấp không bắt buộc, bổ sung một số tính năng mới vào Firebase Authentication.

Bạn không cần di chuyển gì khi nâng cấp này – SDK ứng dụng và mã SDK quản trị hiện có của bạn sẽ tiếp tục hoạt động như trước và bạn sẽ có quyền truy cập ngay vào các tính năng như tính năng ghi nhật ký nâng cao, dịch vụ hỗ trợ cấp doanh nghiệp và Thoả thuận mức độ cung cấp dịch vụ (SLA). Với một số mã bổ sung, bạn có thể thêm tính năng xác thực đa yếu tố, chặn các hàm và hỗ trợ các nhà cung cấp SAML và OpenID Connect.

Firebase Authentication with Identity Platform có một lược đồ giá khác so với sản phẩm cơ sở. Khi nâng cấp, các dự án theo gói miễn phí (Spark) sẽ bị giới hạn ở 3.000 người dùng hoạt động hằng ngày và các dự án theo gói trả phí theo mức sử dụng (Blaze) sẽ bị tính phí khi sử dụng vượt quá cấp miễn phí là 50.000 người dùng hoạt động hằng tháng. Hãy đảm bảo rằng bạn hiểu rõ các vấn đề liên quan đến việc thanh toán trước khi nâng cấp.

Hãy đọc thêm về các tính năng, mức giá và giới hạn mới ở bên dưới.

Tính năng

Xác thực đa yếu tố

Tính năng xác thực đa yếu tố bằng SMS bảo vệ dữ liệu của người dùng bằng cách thêm một lớp bảo mật thứ hai vào ứng dụng của bạn.

Tìm hiểu cách thêm tính năng xác thực nhiều yếu tố vào ứng dụng Apple, Androidweb.

Hàm chặn

Các hàm chặn cho phép bạn chạy mã tuỳ chỉnh để sửa đổi kết quả của việc người dùng đăng ký hoặc đăng nhập vào ứng dụng của bạn.

Tìm hiểu cách mở rộng Firebase Authentication bằng các hàm chặn.

Nhà cung cấp SAML và OpenID Connect

Hỗ trợ đăng nhập bằng SAML (chỉ dành cho web) và các nhà cung cấp OpenID Connect không được Firebase hỗ trợ sẵn.

Tìm hiểu cách thêm tính năng đăng nhập bằng SAML vào ứng dụng web và tính năng đăng nhập bằng OpenID Connect vào ứng dụng Apple, Androidweb.

Hoạt động của người dùng và ghi nhật ký kiểm tra

Giám sát và ghi lại quyền truy cập quản trị cũng như hoạt động của người dùng cuối.

Khi nâng cấp dự án, bạn sẽ tự động bật nhật ký kiểm tra hoạt động của quản trị viên trong tính năng Ghi nhật ký trên đám mây. Bạn cũng có thể bật tính năng ghi nhật ký hoạt động của người dùng trên trang Cài đặt xác thực của bảng điều khiển Firebase.

Để tìm hiểu cách xem và phân tích nhật ký, hãy xem tài liệu về tính năng Ghi nhật ký trên đám mây.

Ngăn chặn hành vi sai trái bằng App Check

App Check giúp bảo vệ dự án của bạn khỏi hành vi sai trái bằng cách ngăn chặn các ứng dụng trái phép truy cập vào điểm cuối xác thực của bạn.

Để tìm hiểu cách bật App Check, hãy xem tài liệu về App Check.

Nhiều người thuê

Khi sử dụng người dùng, bạn có thể tạo nhiều nhóm người dùng và cấu hình riêng biệt trong một dự án.

Xem phần Bắt đầu sử dụng chế độ nhiều người dùng trong tài liệu về Cloud Identity Platform.

Dịch vụ hỗ trợ doanh nghiệp và SLA

Các dự án đã nâng cấp sẽ được đảm bảo thời gian hoạt động cho các dịch vụ Xác thực theo Thoả thuận mức độ cung cấp dịch vụ (SLA) của Nền tảng danh tính và có quyền sử dụng dịch vụ hỗ trợ cấp doanh nghiệp.

Tự động dọn dẹp người dùng ẩn danh

Bạn sẽ có lựa chọn bật tính năng tự động xoá tài khoản ẩn danh nếu tài khoản đó đã tồn tại hơn 30 ngày. Tài khoản ẩn danh cũng sẽ không còn được tính vào hạn mức thanh toán và hạn mức sử dụng nữa.

Hạn mức sử dụng

Sau khi nâng cấp, Firebase Authentication with Identity Platform sẽ giới thiệu các giới hạn mới đối với việc sử dụng Firebase Authentication.

Không mất phí (Spark)

Các dự án sử dụng gói miễn phí (Spark) có giới hạn mới là 3.000 người dùng hoạt động hằng ngày (DAU) đối với hầu hết các nhà cung cấp dịch vụ đăng nhập. Mức sử dụng hằng ngày được tính dựa trên số người dùng duy nhất đăng nhập trong khoảng thời gian 24 giờ.

Nhà cung cấp Giới hạn mới Giới hạn cũ
Email, Mạng xã hội, Ẩn danh, Tuỳ chỉnh 3.000 người dùng hằng ngày Không giới hạn
SAML, OpenID Connect 2 DAU Không áp dụng

Trả tiền theo mức dùng (Blaze)

Mức giá cho các dự án trên gói Blaze được tính dựa trên số người dùng hoạt động hằng tháng (MAUs) và bao gồm một cấp miễn phí cho 50.000 người dùng. Người dùng đang hoạt động là bất kỳ ai sử dụng tài khoản của họ trong khoảng thời gian thanh toán.

Nhà cung cấp Bậc không tốn phí Chi phí (USD) cho mỗi MAU ở trên cấp không tính phí
Email, Mạng xã hội, Ẩn danh, Tuỳ chỉnh 0-49.999 người dùng hằng tháng 0,0025 đến 0,0055 đô la Mỹ/MAU
SAML, OpenID Connect 0 đến 49 người dùng hoạt động hằng tháng 0,015 đô la Mỹ cho mỗi người dùng hoạt động hằng tháng

Nâng cấp dự án

Để nâng cấp dự án lên Firebase Authentication with Identity Platform, hãy mở trang Authentication Settings (Cài đặt xác thực) của bảng điều khiển Firebase.

Tính năng này hoạt động như thế nào?

Đường liên kết phù hợp với nền tảng

Để đăng nhập người dùng vào ứng dụng, trước tiên, bạn phải lấy thông tin xác thực của người dùng. Thông tin xác thực này có thể là địa chỉ email và mật khẩu của người dùng hoặc mã thông báo OAuth của một nhà cung cấp danh tính liên kết. Sau đó, bạn truyền các thông tin xác thực này đến SDK Firebase Authentication. Sau đó, các dịch vụ phụ trợ của chúng tôi sẽ xác minh thông tin xác thực đó và trả về phản hồi cho ứng dụng.

Sau khi đăng nhập thành công, bạn có thể truy cập vào thông tin hồ sơ cơ bản của người dùng và kiểm soát quyền truy cập của người dùng vào dữ liệu được lưu trữ trong các sản phẩm Firebase khác. Bạn cũng có thể sử dụng mã thông báo xác thực được cung cấp để xác minh danh tính của người dùng trong các dịch vụ phụ trợ của riêng mình.

Đường dẫn triển khai

Sử dụng tính năng xác thực FirebaseUI
Thiết lập phương thức đăng nhập Đối với phương thức đăng nhập bằng địa chỉ email và mật khẩu hoặc số điện thoại và mọi nhà cung cấp danh tính liên kết mà bạn muốn hỗ trợ, hãy bật các phương thức đó trong bảng điều khiển Firebase và hoàn tất mọi cấu hình mà nhà cung cấp danh tính yêu cầu, chẳng hạn như đặt URL chuyển hướng OAuth.
Tuỳ chỉnh giao diện người dùng đăng nhập Bạn có thể tuỳ chỉnh giao diện người dùng đăng nhập bằng cách đặt các tuỳ chọn FirebaseUI hoặc phân nhánh mã trên GitHub để tuỳ chỉnh thêm trải nghiệm đăng nhập.
Sử dụng FirebaseUI để thực hiện quy trình đăng nhập Nhập thư viện FirebaseUI, chỉ định các phương thức đăng nhập mà bạn muốn hỗ trợ và bắt đầu quy trình đăng nhập FirebaseUI.
Sử dụng SDK Firebase Authentication
Thiết lập phương thức đăng nhập Đối với phương thức đăng nhập bằng địa chỉ email và mật khẩu hoặc số điện thoại và mọi nhà cung cấp danh tính liên kết mà bạn muốn hỗ trợ, hãy bật các phương thức đó trong bảng điều khiển Firebase và hoàn tất mọi cấu hình mà nhà cung cấp danh tính yêu cầu, chẳng hạn như đặt URL chuyển hướng OAuth.
Triển khai luồng giao diện người dùng cho phương thức đăng nhập Đối với phương thức đăng nhập bằng địa chỉ email và mật khẩu, hãy triển khai một quy trình nhắc người dùng nhập địa chỉ email và mật khẩu của họ. Đối với tính năng đăng nhập bằng số điện thoại, hãy tạo một quy trình nhắc người dùng nhập số điện thoại, sau đó nhập mã trong tin nhắn SMS mà họ nhận được. Đối với tính năng đăng nhập liên kết, hãy triển khai quy trình mà mỗi nhà cung cấp yêu cầu.
Chuyển thông tin xác thực của người dùng đến SDK Firebase Authentication Truyền địa chỉ email và mật khẩu của người dùng hoặc mã thông báo OAuth đã được thu thập từ nhà cung cấp danh tính liên kết đến SDK Firebase Authentication.

Bước tiếp theo

Tìm hiểu thêm về người dùng trong dự án Firebase, sau đó tham khảo hướng dẫn bắt đầu sử dụng cho nền tảng và nhà cung cấp dịch vụ đăng nhập mà bạn muốn hỗ trợ:

iOS+ Android Web Flutter Unity C++ Quản trị

Bạn chưa biết nên bắt đầu từ đâu?

Tìm hiểu cách bắt đầu