Вход по телефону не работает на Android

Прежде чем отправить SMS, Firebase проверяет, что запрос действительно пришёл из вашего приложения. Проверка идёт через Play Integrity (раньше — SafetyNet) или через reCAPTCHA. Почти все проблемы со входом по телефону — это неверная настройка одной из них.

Что проверить

  • Проект Firebase

    • Проект настроен в консоли Firebase.
    • Firebase Authentication включена.
    • Способ входа по телефону активирован.
  • Поток входа

    • Пользователь вводит номер телефона.
    • На номер уходит код.
    • Приложение принимает код и проверяет его.
  • Проверка подлинности

    • В приложении подключены нужные зависимости Firebase и Play Services.
    • В настройках проекта Firebase добавлены отпечатки SHA-1 и SHA-256.
    • Ключ API либо без ограничений, либо с вашим доменом в списке разрешённых.
  • Где проверяете

    • На эмуляторе проверка подлинности часто не проходит — тестируйте на реальном устройстве.

Как Firebase проверяет запрос

  1. Play Integrity (вместо SafetyNet)

    На устройствах с Google Play Services подлинность подтверждает системный сервис проверки.

    внимание
    SafetyNet больше не используется

    API SafetyNet Attestation закрыт: с 31 января 2023 года его нельзя было включить в новых проектах, а затем он был полностью выведен из эксплуатации. Замена — Play Integrity API; новые проекты сразу настраиваются на него.

    Что нужно:

    • включить Play Integrity API в консоли Google Cloud;
    • добавить SHA-256 приложения в Project Settings > General > Your Apps консоли Firebase;
    • использовать штатный ключ API Firebase.

    Настройка проверки подлинности устройства

  2. reCAPTCHA

    Если проверка через Play Integrity недоступна — устройство без Google Play Services или эмулятор, — Firebase переключается на reCAPTCHA. Обычно она проходит без участия пользователя. Для этого нужно:

    • добавить SHA-1 в проект Firebase;
    • оставить ключ API без ограничений или внести домен в список разрешённых (например, your-project-name.firebaseapp.com).

    Работать должны оба пути — так вход сработает на большем числе устройств.

инфо
Для релизной сборки

При публикации в Google Play добавьте в Firebase отпечатки SHA-1 и SHA-256 из Play Console: Play Console → ваше приложение → Release → Setup → App Signing, затем Project Settings > General > Your Apps в консоли Firebase.

Отпечатки в настройках проекта Firebase

перевод официальной документации FlutterFlow

обновлено

⌕ ESC