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 hơn và an toàn hơn để xác minh số điện thoại. Không giống như phương thức 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 được chỉ định 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 người dùng cảm thấy thoải mái hơn, 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ơ lạm dụng thường bị khai thác khi sử dụng SMS.

Các khả năng chính

Nhà mạng là nguồn đáng tin Với Firebase PNV, Google 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. Mã 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 nhà cung cấp dịch vụ danh tính Bạn có thể sử dụng Firebase PNV độc lập như một phương thức xác minh số điện thoại đáng tin cậy và dễ tích hợp, hoặc bạn có thể sử dụng phương thức này để đă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 nhà mạng hiện có Bạn có thể sử dụng SDK Firebase PNV để phát hiện khả năng tương thích và chuyển về một phương thức khác, chẳng hạn như SMS, khi Firebase PNV chưa được hỗ trợ trên thiết bị. Firebase PNV sẽ dần được cung cấp cho các nhà mạng trên toàn thế giới. Khi có nhà mạng mới, bạn có thể tự động sử dụng các nhà mạng đó mà không cần thay đổi gì thêm cho ứng dụng của mình. Hãy xem bài viết Hỗ trợ nhà mạng để biết danh sách các nhà mạng 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 thể bị lừa đảo để lấy mật khẩu dùng một lần. Mật khẩu 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 yêu cầu xác minh số điện thoại, Firebase PNV sẽ:

  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. Yêu cầu người dùng đồ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 hiện đã 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.

Quy trình triển khai

Thiết lập dự án Firebase Trong Firebase bảng điều khiển, hãy hoàn tất các bước thiết lập để 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 SDK và khởi chạy Cài đặt SDK Firebase PNV cho nền tảng của ứng dụng. SDK này yêu cầu bạn phải 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 để lấy 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 mã OTP qua SMS. Điều này sẽ giúp giảm sự 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 có khả năng 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ũ của bạn, 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 số điện thoại đã xác minh của thiết bị từ nhà mạng di động. Thao tác này sẽ kích hoạt quy trình lấy sự đồng ý của người dùng. Màn hình giải thích sẽ giúp người dùng hoàn tất quy trình này.
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ý. Bạn có thể gửi mã thông báo này đế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 chứa số điện thoại đã xác minh của thiết bị.

Các bước tiếp theo

  • Hãy xem hướng dẫn Bắt đầu sử dụng trên Android để tìm hiểu cách kiểm thử Firebase PNV trong một ứng dụng Android bằng chế độ kiểm thử không có SIM.
  • Hãy dùng thử Lớp học lập trình này để từng bước tìm hiểu cách tích hợp Firebase PNV vào một ứng dụng Android.