Проблема с отпечатками пальцев Firebase Phone Auth SHA-1

# #android #firebase #flutter #firebase-authentication

Вопрос:

Я создал страницу входа во flutter, используя аутентификацию по телефону. В котором я получаю ошибку:

E/FirebaseAuth(21546): [SmsRetrieverHelper] Ошибка запроса кода проверки SMS: код состояния неизвестен: 17028 Был передан ключ safety_net_token, но в консоли Firebase не был зарегистрирован соответствующий SHA-256. Пожалуйста, убедитесь, что пара Имя пакета/SHA256 этого приложения зарегистрирована в консоли Firebase. I/flutter (21546): Это приложение не имеет права использовать аутентификацию Firebase. Пожалуйста, убедитесь, что в консоли Firebase настроены правильное имя пакета и SHA-1. [ Был передан ключ safety_net_token, но в консоли Firebase не было зарегистрировано соответствующего SHA-256. Пожалуйста, убедитесь, что пара Имя пакета/SHA256 этого приложения зарегистрирована в консоли Firebase. ]

Я уже получил ключи SHA1 и SHA256 из cmd, выполнив следующие действия:

  1. В cmd посетил путь, по которому установлен java jdk(в моем случае:C:Program FilesJavajdk1.8.0_212)
  2. Затем вставил следующую команду и нажал enter keytool-список-v-хранилище ключей «C:UsersMehul Jain.androidотладка.хранилище ключей» -псевдоним androiddebugkey -пароль для хранения android -пароль для клавиатуры android

После этого я получил ключ, как показано на скриншоте.

Ключ SHA1

скопировал оба ключа и вставил в консоль firebase (как показано на скриншоте ниже) консоль firebase

Приложение работает правильно. И когда я попытался войти в тестовый режим (т. Е. Ввести номер мобильного телефона. и otp) и запустите приложение с подробностями о тестовом режиме, приложение работало на 100%. Но если я хочу добавить номер мобильного телефона из приложения и попытаться получить SMS, на экране появится ошибка. Я пробовал разные другие номера мобильных телефонов, но все еще не работал(номер мобильного телефона не вводится в тестовом режиме).

Ответ №1:

  • если вы используете эмулятор, то система безопасности не работает, убедитесь, что вы используете законное устройство с Android
  • возможно, вы используете неправильное хранилище ключей. лучший способ найти отладочный ключ SHA-это Gradle >>> отчет о регистрации>>>>>>>щелкните правой кнопкой мыши>>>>>>>>>>>беги>>>>>>

введите описание изображения здесь

Комментарии:

1. Да, из gradile SigningReport генерируется другой ключ SHA1. Но тогда в CMD, почему он показывает другой ключ?

Ответ №2:

Я предлагаю вам использовать эту бесплатную библиотеку API OTP_VERIFICATION, я тоже пробовал это, и это самый простой API из когда-либо существовавших.