Android Facebook Логин Firebase неверный хэш-ключ - PullRequest
0 голосов
/ 24 мая 2018

Так что недавно я пытался войти в свое приложение для Android с помощью входа в Facebook.Я следовал всем инструкциям (создание ключа, размещение его в Facebook и т. Д.), Но даже после того, как я выполнил все шаги, я все еще не мог войти.

У меня две проблемы:

  1. "Facebook Login Неудачный ответ debug_token от Facebook" enter image description here
  2. "Неверный хэш-ключ при попытке войти в систему с помощью Facebook" - a.Из приложения, установленного студией Android.б.Из приложения, установленного Play Store.enter image description here

Ответы [ 2 ]

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

То же случилось со мной, когда я интегрировал firbase Auth.UI для Facebook.по какой-то причине сгенерированный ключ не соответствует фактическому сгенерированному ключу.это для пользователей Linux и в среде разработки перейдите в app-debug.apk на cd /buil/outputs/apk/debug, введите keytool -list -printcert -jarfile .app-debug.apk

, вам будет предложено Certificate fingerprints: MD5: xx:xx:xx....... SHA1: xx:xx:xx....... SHA@56: xx:xx:xx.......

скопировать значения SHA1 и изменить егок base64 (вы можете использовать любой инструмент) вы получите правильный хеш-ключ, который вы добавите к своим хеш-ключам в настройках приложения facebook.

0 голосов
/ 24 мая 2018

После долгих исследований я нашел решения:

  1. Поскольку во время поиска кто-то предложил удалить мое приложение из Facebook и заново создать его, AppID и AppSecret на Facebook изменились, и я не сталОбновите консоль Firebase соответствующим образом.enter image description here
  2. a.Я сгенерировал ключ, используя следующий код:

    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                    "com.example.somepackage",
                    PackageManager.GET_SIGNATURES);for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (PackageManager.NameNotFoundException e) {
    
    } catch (NoSuchAlgorithmException e) {
    
    }
    

    Я зашел в logcat, скопировал сгенерированный ключ и вставил его в приложение Facebook enter image description here После этого я смог войти, покаотладка моего приложения.

    b.После того, как я загрузил приложение в Play Store, я был удивлен, увидев, что я не могу войти через Facebook!Чтобы исправить это, я нашел следующее решение: Перейдите в Firebase -> Настройки проекта, скопируйте каждый имеющийся у вас отпечаток SHA, вставьте его в Преобразовать шестнадцатеричное в base64 , получите результат из строки base64 и добавьте его в Facebook (вдополнение к ключу из "2.a."). enter image description hereenter image description hereenter image description here

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