Проверка номера телефона в Firebase
Firebase Phone Number Verification ( Firebase PNV ) — это более быстрый и безопасный метод проверки телефонных номеров. В отличие от SMS-верификации, которая требует от пользователей получения и ввода кода из текстового сообщения, Firebase PNV работает, получая номер телефона, присвоенный SIM-карте в устройстве, непосредственно от подключенного оператора связи одним касанием. Это упрощает работу пользователя, повышает надежность, поскольку не зависит от доставки SMS-сообщений, и исключает злоупотребления, часто используемые при использовании SMS.
Ключевые возможности
| Перевозчики являются источником достоверной информации. | С помощью Firebase PNV Google получает подтвержденный номер телефона SIM-карты непосредственно от оператора связи, что позволяет узнать, какой номер телефона используется на устройстве, на котором запущено ваше приложение. SMS-коды OTP позволяют узнать номер телефона только в том случае, если у пользователя есть к нему доступ. |
| Используйте автономно или совместно с поставщиком идентификации. | Вы можете использовать Firebase PNV как самостоятельный и легко интегрируемый метод проверки телефонных номеров, или же как способ входа в систему с помощью Firebase Authentication или вашей собственной системы аутентификации. |
| Автоматически использовать доступных перевозчиков | Вы можете использовать SDK Firebase PNV для определения совместимости и переключения на другой метод, например SMS, если Firebase PNV еще не поддерживается на устройстве. Firebase PNV будет постепенно становиться доступным для операторов связи по всему миру. По мере появления новых операторов вы сможете автоматически использовать их без дополнительных изменений в вашем приложении. Список участвующих операторов см. в разделе «Поддержка операторов ». |
| Исключите фишинговые SMS-атаки. | Поскольку Firebase PNV не отправляет SMS-сообщения для подтверждения номера телефона, пользователей невозможно обмануть, чтобы получить одноразовые пароли, которые могут быть использованы для захвата учетных записей. |
Как это работает?
При отправке запроса на подтверждение номера телефона Firebase PNV :
Проверяет, поддерживаются ли устройство пользователя и оператор мобильной связи.
Получает согласие пользователя на передачу его номера телефона вашему приложению.
Для получения подтвержденного номера телефона взаимодействует с оператором мобильной связи, назначенным SIM-карте.
Возвращает вашему приложению подписанный токен, содержащий подтвержденный номер телефона, обычно в течение 1-3 секунд после получения согласия пользователя.
После проверки подписи этого токена ваше приложение получит подтвержденный номер телефона пользователя. Вы также можете использовать этот токен в процессе авторизации на основе номера телефона, например, с помощью Firebase Authentication или собственной системы аутентификации.
Путь реализации
| Настройте свой проект Firebase. | В консоли Firebase выполните шаги по настройке, чтобы включить выставление счетов и API Firebase Phone Number Verification для вашего проекта Firebase. | |
| Установите SDK и инициализируйте его. | Установите Firebase PNV SDK для платформы вашего приложения. Для работы SDK требуется успешное завершение проверки бренда через OAuth. | |
| Разработайте пояснительный экран. | (Рекомендуется) Перед запуском официального интерфейса подтверждения согласия пользователя объясните, что ему необходимо выбрать SIM-карту, для которой будет получен номер, и почему это быстрее и безопаснее, чем SMS-коды подтверждения. Это уменьшит путаницу и обучит пользователей новому процессу проверки номера телефона. | |
| Проверьте совместимость устройства и оператора связи. | (Рекомендуется) При запуске приложения используйте SDK Firebase PNV , чтобы проверить совместимость устройства и его мобильного оператора с Firebase PNV . Если совместимость подтверждена, отобразите пояснительный экран и запросите согласие. Если совместимость отсутствует, используйте устаревший способ подтверждения номера телефона, например, SMS. | |
| Запросите подтвержденный номер телефона. | Используйте SDK Firebase PNV для запроса у мобильного оператора подтвержденного номера телефона устройства. Это инициирует запрос согласия пользователя, к заполнению которого поможет подготовиться ваш пояснительный экран. | |
| Проверьте токен ответа. | В ответе от сервиса Firebase PNV вы получаете подписанный токен, который можно отправить на бэкэнд вашего приложения. На бэкэнде проверьте подпись токена. Если подпись действительна, то токен содержит подтвержденный номер телефона устройства. |
Следующие шаги
- В руководстве «Начало работы с Android» вы узнаете, как протестировать Firebase PNV в приложении Android, используя режим тестирования без SIM-карты.