Проверка номера телефона в 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 :

  1. Проверяет, поддерживаются ли устройство пользователя и оператор мобильной связи.

  2. Получает согласие пользователя на передачу его номера телефона вашему приложению.

  3. Для получения подтвержденного номера телефона взаимодействует с оператором мобильной связи, назначенным SIM-карте.

  4. Возвращает вашему приложению подписанный токен, содержащий подтвержденный номер телефона, обычно в течение 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 вы получаете подписанный токен, который можно отправить на бэкэнд вашего приложения. На бэкэнде проверьте подпись токена. Если подпись действительна, то токен содержит подтвержденный номер телефона устройства.

Следующие шаги

  • Firebase PNV — это платная услуга, стоимость которой рассчитывается за каждую проверку. Подробности см. на странице «Цены» .
  • Чтобы узнать, как использовать Firebase PNV в приложении Android, ознакомьтесь с руководством «Начало работы с Android» .