При регистрации / входе в систему с помощью аутентификации телефона Firebase поток аутентификации всегда запускает поток reCAPTCHA, а после возврата в приложение выдает ошибку missing client identifier
.
Моя установка ранее работала с API проверки устройства/безопасности.
Проблема возникла без каких-либо реальных изменений, о которых я знаю, за исключением обновлений зависимостей firebase в моем pubspec.
теперь я использую
firebase_core: ^2.10.0
firebase_auth: ^4.4.2
Понижение зависимостей до
firebase_core: 2.8.0
firebase_auth: 4.2.10
хотя не помогло.
Что еще я проверил на данный момент:
SHA-1
со страницы «Подписание Play Store» (для сборок пакетов приложений) в консоли Firebase для своего приложения.SHA-256 certificate fingerprint
со страницы «Подписание Play Store» зарегистрирован в консоли Firebase.21.1.0
библиотеки аутентификации Android Firebase в файле Android gradle, но это не помогло.androidx.browser:browser
в файле градиента Android до 1.3.0
, но это не помогло.google-services.json
актуаленЯ что-то забыл или кто-нибудь сталкивался с похожей проблемой и решил ее после перехода на Integrity API?
Или, другими словами: что может пойти не так, если точно такая же настройка работает с активированным API проверки устройств, но не без него?
Проблема решена.
Причина заключалась в том, что ключ приложения Android по адресу https://console.cloud.google.com/apis/credentials был ограничен приложениями Android:
И это вызвало ошибку в потоке reCAPTCHA, потому что ему нужен ключ, предположительно, также в браузере. Он должен быть установлен на None
.
Во-вторых, почему он пошел и все еще идет в поток reCAPTCHA, в первую очередь, это то, что на стороне Firebase есть открытый инцидент: https://status.firebase.google.com/incidents/UY1LTFan8X5oybhphzfV
В настоящее время Integrity API не работает должным образом, и это также причина, по которой код работал с API-интерфейсом Safety Net — по крайней мере, до тех пор, пока ему не приходилось переходить в резервный поток / поток reCAPTCHA.
ОБНОВЛЕНИЕ: по состоянию на 1 мая 2023 года эта проблема полностью решена, и теперь Play Integrity API и аутентификация по телефону работают должным образом.