Xác minh số điện thoại bằng Firebase

Firebase Phone Number Verification (Firebase PNV) là một phương thức nhanh chóng và an toàn để xác minh số điện thoại của người dùng. Không giống như quy trình xác minh dựa trên SMS (yêu cầu người dùng nhận và nhập mã từ tin nhắn văn bản), Firebase PNV hoạt động với phần cứng của thiết bị và nhà mạng di động để cho phép xác minh chỉ bằng một lần nhấn. Phương thức này giúp giảm phiền toái cho người dùng, cải thiện độ tin cậy (vì không sử dụng tin nhắn SMS thường không được gửi) và loại bỏ các vectơ tấn công thường bị khai thác khi sử dụng SMS.

Các khả năng chính

Hãng vận chuyển là nguồn đáng tin cậy Với Firebase PNV, Google sẽ lấy số điện thoại đã xác minh cho SIM trực tiếp từ người đăng ký, cho bạn biết số điện thoại hiện có trên thiết bị đang chạy ứng dụng của bạn. OTP qua SMS chỉ có thể cho bạn biết liệu người dùng có quyền truy cập vào số điện thoại hay không.
Sử dụng độc lập hoặc với một nhà cung cấp danh tính Bạn có thể sử dụng riêng Firebase PNV như một phương thức xác minh số điện thoại dễ tích hợp và đáng tin cậy, hoặc bạn có thể sử dụng phương thức này làm phương thức đăng nhập bằng Firebase Authentication hoặc hệ thống xác thực của riêng bạn.
Tự động sử dụng các hãng vận chuyển hiện có Để Firebase PNV hoạt động trên một thiết bị nhất định, thiết bị đó cần có một thẻ SIM (thẻ hoặc eSIM) tương thích sử dụng một nhà mạng có sẵn. Bạn có thể dùng SDK Firebase PNV để phát hiện khả năng tương thích và quay lại một phương thức khác (chẳng hạn như SMS) khi Firebase PNV không được thiết bị hỗ trợ.
Hỗ trợ nhiều hãng vận chuyển và ngày càng mở rộng Firebase PNV sẽ dần được cung cấp cho các hãng vận chuyển trên toàn thế giới. Khi có các nhà mạng mới, bạn có thể tự động sử dụng các nhà mạng này mà không cần thay đổi tệp nhị phân cho ứng dụng. Hãy xem phần Hỗ trợ nhà mạng để biết danh sách các nhà mạng tham gia.

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

Khi bạn gửi yêu cầu xác minh số điện thoại, Firebase PNV:

  1. Kiểm tra để đảm bảo thiết bị và nhà mạng di động của người dùng được hỗ trợ.

  2. Lấy sự đồng ý của người dùng để chia sẻ số điện thoại của họ với ứng dụng của bạn.

  3. Hoạt động với nhà mạng di động được chỉ định cho SIM để lấy số điện thoại đã xác minh.

  4. Trả về cho ứng dụng của bạn một mã thông báo đã ký chứa số điện thoại đã xác minh.

Sau khi xác minh chữ ký của mã thông báo này, ứng dụng của bạn sẽ có số điện thoại đã xác minh của người dùng. Bạn cũng có thể sử dụng mã thông báo này trong quy trình đăng nhập dựa trên số điện thoại, chẳng hạn như sử dụng Firebase Authentication hoặc phần phụ trợ xác thực của riêng bạn.

Đường dẫn triển khai

Thiết lập dự án Firebase Bật API Firebase Phone Number Verification cho dự án Firebase của bạn trong bảng điều khiển Google Cloud.
Cài đặt và khởi chạy SDK Cài đặt SDK Firebase PNV cho nền tảng của ứng dụng.
Kiểm tra khả năng tương thích của thiết bị và nhà mạng (Nên dùng) Khi người dùng thực hiện một hành động yêu cầu xác minh số điện thoại, trước tiên hãy sử dụng SDK Firebase PNV để kiểm tra xem thiết bị và nhà mạng di động của thiết bị có tương thích với Firebase PNV hay không. Nếu không, hãy bắt đầu một phương thức xác minh số điện thoại thay thế, chẳng hạn như SMS.
Yêu cầu số điện thoại đã xác minh Sử dụng SDK Firebase PNV để yêu cầu nhà mạng di động cung cấp số điện thoại đã xác minh của thiết bị.
Xác minh mã thông báo phản hồi Trong phản hồi từ dịch vụ Firebase PNV, bạn sẽ nhận được một mã thông báo đã ký mà bạn có thể gửi đến phần phụ trợ của ứng dụng. Trên phần phụ trợ, hãy xác minh chữ ký của mã thông báo. Nếu chữ ký hợp lệ, thì mã thông báo sẽ chứa số điện thoại đã xác minh của thiết bị.

Các bước tiếp theo

  • Firebase PNV là một dịch vụ có tính phí và bạn sẽ phải trả một khoản phí cho mỗi lần xác minh. Hãy xem trang Giá để biết thông tin chi tiết.
  • Xem hướng dẫn Bắt đầu trên Android để tìm hiểu cách sử dụng Firebase PNV trong ứng dụng Android.