Firebase Phone Number Verification
Firebase Phone Number Verification (Firebase PNV) – более быстрый и безопасный способ подтверждения номеров телефонов. В отличие от проверки по SMS, при которой пользователю нужно получить и ввести код из текстового сообщения, Firebase PNV позволяет получить номер телефона, назначенный SIM-карте в устройстве, непосредственно от подключенного оператора одним нажатием. Это упрощает процесс для пользователя, повышает надежность, поскольку не зависит от доставки SMS, и устраняет уязвимости, которые часто используются злоумышленниками при отправке SMS.
Основные функции
| Операторы связи – источник достоверной информации | С помощью Firebase PNV Google получает подтвержденный номер телефона для SIM-карты непосредственно от оператора связи, сообщая вам, какой номер находится на устройстве, на котором сейчас запущено ваше приложение. Одноразовые коды, отправляемые по SMS, могут только подтвердить, что у пользователя есть доступ к номеру телефона. |
| Используйте как отдельный сервис или с поставщиком идентификационной информации | Вы можете использовать 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 выполните действия по настройке, чтобы включить платежные функции и Firebase Phone Number Verification API для проекта Firebase. | |
| Установите и инициализируйте SDK | Установите SDK Firebase PNV для платформы вашего приложения. Для работы SDK требуется, чтобы была успешно завершена проверка бренда OAuth. | |
| Как создать экран с объяснениями | Рекомендуем перед показом официального интерфейса запроса согласия пользователя объяснить, что ему нужно выбрать SIM-карту, чтобы получить номер, и что это быстрее и безопаснее, чем одноразовые коды из SMS. Это поможет избежать путаницы и научить пользователей новому способу подтверждения номера телефона. | |
| Как проверить совместимость устройства и оператора | Рекомендуем при запуске приложения использовать SDK Firebase PNV, чтобы проверить, совместимы ли устройство и оператор мобильной связи с Firebase PNV. Если да, покажите экран с объяснением и запросите согласие. Если нет, используйте прежний способ подтверждения номера телефона, например с помощью SMS. | |
| Запросите подтвержденный номер телефона | Используйте Firebase PNV SDK, чтобы запросить у оператора мобильной связи подтвержденный номер телефона устройства. Это вызовет запрос согласия пользователя, к которому его подготовит экран с пояснениями. | |
| Проверка токена ответа | В ответе от сервиса Firebase PNV вы получите подписанный токен, который можно отправить в серверную часть приложения. На сервере проверьте подпись токена. Если подпись действительна, токен содержит подтвержденный номер телефона устройства. |
Дальнейшие действия
- В руководстве Начало работы с Android рассказывается, как протестировать Firebase PNV в приложении для Android в режиме тестирования без SIM-карты.
- Выполните практическую работу, в которой пошагово рассказывается, как интегрировать Firebase PNV в приложение Android.