首页 > 解决方案 > Android Facebook 登录 Firebase 无效哈希键

问题描述

所以最近我试图使用 Facebook 登录来登录我的 android 应用程序。我按照所有说明操作(生成密钥、将其放在 Facebook 上等),但即使完成了所有步骤,我仍然无法登录。

我有两个问题:

  1. “Facebook 登录不成功 debug_token 来自 Facebook 的响应” 在此处输入图像描述
  2. “尝试使用 Facebook 登录时哈希键无效” - a。来自 Android Studio 安装的应用程序。湾。来自 Play 商店安装的应用程序。 在此处输入图像描述

标签: androidfirebasefirebase-authenticationfacebook-login

解决方案


经过大量研究,我找到了解决方案:

  1. 因为在搜索过程中有人提议从 Facebook 删除我的应用并重新创建它,所以 Facebook 上的 AppID 和 AppSecret 发生了变化,我没有相应地更新 Firebase 控制台。 在此处输入图像描述
  2. 一个。我使用下一个代码生成了密钥:

    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 应用程序 在此处输入图像描述 之后,我能够在调试我的应用程序时登录。

    湾。在我将应用程序上传到 Play 商店后,我惊讶地发现我无法使用 Facebook 登录!为了解决这个问题,我找到了下一个解决方案:转到 Firebase -> Project Settings 复制您拥有的每个 SHA 指纹,将其粘贴到Convert Hexadecimal to base64,从 base64 行获取结果并将其添加到 Facebook(除了来自“ 2.a.”)。在此处输入图像描述在此处输入图像描述在此处输入图像描述


推荐阅读