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 bằng cách lấy số điện thoại cho SIM trong thiết bị trực tiếp từ nhà mạng được kết nối chỉ bằng một lần nhấn. Điều này giúp giảm bớt phiền toái cho người dùng, cải thiện độ tin cậy bằng cách không phụ thuộc vào việc gửi tin nhắn SMS và loại bỏ các vectơ tấn công thường bị khai thác khi sử dụng SMS.

Các chức 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ừ nhà mạng, 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 dịch vụ 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ó 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 chưa được thiết bị hỗ trợ. 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 hãng vận chuyển mới, bạn có thể tự động sử dụng các hãng này mà không cần thay đổi gì thêm cho ứng dụng. Hãy xem phần Hỗ trợ hãng vận chuyển để biết danh sách các hãng vận chuyển tham gia.
Loại bỏ các cuộc tấn công lừa đảo qua SMS Firebase PNV không gửi bất kỳ tin nhắn SMS nào để xác minh số điện thoại, nên người dùng không mong đợi nhận được tin nhắn từ ứng dụng của bạn có mật khẩu dùng một lần. Những tin nhắn này có thể được dùng trong các cuộc tấn công chiếm đoạt tài khoản.

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, thường là trong vòng 1 đến 3 giây kể từ khi người dùng đồng ý.

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 Trong bảng điều khiển Firebase, hãy hoàn tất các bước thiết lập ban đầu để bật tính năng thanh toán và API Firebase Phone Number Verification cho dự án Firebase của bạn.
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. SDK yêu cầu bạn hoàn tất thành công quy trình xác minh thương hiệu OAuth.
Thiết kế màn hình giải thích (Nên dùng) Trước khi kích hoạt giao diện người dùng chính thức để yêu cầu sự đồng ý của người dùng, hãy giải thích rằng họ cần chọn một SIM để tìm nạp số điện thoại và cách này nhanh hơn cũng như an toàn hơn so với OTP SMS. Điều này sẽ giảm tình trạng nhầm lẫn và hướng dẫn người dùng về quy trình xác minh số điện thoại mới.
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 dụng của bạn khởi chạy, 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 tương thích, hãy hiển thị màn hình giải thích và nhắc người dùng đồng ý. Nếu không, hãy sử dụng phương thức xác minh số điện thoại cũ, 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ị. Điều này kích hoạt sự đồng ý của người dùng, mà màn hình giải thích của bạn sẽ giúp người dùng chuẩn bị hoàn tất.
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.