Подтверждение номера телефона в Firebase

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:

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

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

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

  4. Возвращает в ваше приложение подписанный токен, содержащий подтвержденный номер телефона. Обычно это происходит через 1–3 секунды после согласия пользователя.

После проверки подписи токена ваше приложение получит подтвержденный номер телефона пользователя. Вы также можете использовать этот токен в процессе входа с помощью номера телефона, например с помощью Firebase Authentication или собственного внутреннего сервиса аутентификации.

.

Путь реализации

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

Дальнейшие действия