Проблема SHA-1 с Firebase и Google-Auth и Phone-Auth - PullRequest
0 голосов
/ 05 сентября 2018

В настоящее время я создаю приложение, в которое вы также можете войти через свою учетную запись Google или номер мобильного телефона с помощью Firebase. С помощью keytool я уже прочитал свой SHA-1 и сохранил его в настройках проекта Firebase (я также считал значение SHA-1 через Gradle в Android-Studio, конечно, это то же значение, что и в Keytool.). Когда я тестирую приложение во время отладки, все работает нормально. Как только я выпускаю APK (подписанный APK V1 & V2) и устанавливаю этот APK, вход в систему через Google или номер мобильного телефона невозможен. Ошибка:

Это приложение не авторизовано для использования Firebase Authentication. Убедитесь, что имя пакета corecct и SHA-1 настроены в консоли Firebase. [Проверка приложения не удалась]

В консоли Firebase указан правильный SHA-1. Или APK имеет другое значение SHA-1 после выпуска? И почему все работает во время отладки, а не после выпуска.

Было бы здорово, если бы кто-то мог мне помочь.

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Наконец я нашел решение !!! Релиз apk имеет другое значение SHA-1 и SHA-256, чем отладочный apk. После создания релиза apk с обеими сигнатурами вы должны вручную запросить значение SHA-1 релиза с помощью keytool. Затем это можно ввести в консоли Firebase.

0 голосов
/ 06 декабря 2018

Если кому-то еще это нужно, вот подробное объяснение ...

Во время отладки вы создаете отладочный ключ sha1, который позволит вам правильно работать в режиме отладки, но при создании подписанного apk для этого вам нужно сгенерировать sha1 для сборок релиза.

Для этого keytool -list -v -keystore (now here you need to provide the relative path for your key.keystore[which you generated while generating signed apk]) -alias (now the alias name is present in gradle.properties and default is my-key-alias)

Кроме того, это работает и для тех, чье приложение получает otp после создания подписанного apk на определенном устройстве, но не на другом устройстве.

Надеюсь, это поможет.

0 голосов
/ 05 сентября 2018

Во избежание злоупотреблений в эмуляторе не будет работать проверка подлинности телефона с помощью firebase.

Но если вы хотите это для целей тестирования, то вам следует добавить использовать некоторые проверка номера телефона в консоли Firebase, которая будет работать в эмуляторе.

Перейдите в консоль Firebase -> Аутентификация -> Метод входа в систему -> Телефон и отметьте поле «Номера телефонов для тестирования (необязательно)».

enter image description here

Убедитесь, что добавляемый вами номер телефона ранее не был зарегистрирован / зарегистрирован. Если номер уже присутствует в аутентификации, вы не можете добавить его в качестве тестовой учетной записи.

Если вы не используете эмулятор, выполните следующие действия:

Инструменты> Firebase> Authentication> Connect> Синхронизировать

Обычно это происходит при обновлении Android Studio.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...