android - Android Facebook 登录 Firebase 无效哈希键
问题描述
所以最近我试图使用 Facebook 登录来登录我的 android 应用程序。我按照所有说明操作(生成密钥、将其放在 Facebook 上等),但即使完成了所有步骤,我仍然无法登录。
我有两个问题:
解决方案
经过大量研究,我找到了解决方案:
- 因为在搜索过程中有人提议从 Facebook 删除我的应用并重新创建它,所以 Facebook 上的 AppID 和 AppSecret 发生了变化,我没有相应地更新 Firebase 控制台。
一个。我使用下一个代码生成了密钥:
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.”)。
推荐阅读
- r - R如何知道来自给定数据帧的什么样的数据被视为一个因素?
- spring-boot - 与 Spring 数据 JPA 的多表关联
- python - 读取我的excel文件时如何修复在最左侧添加的空白列?
- javascript - 如何在滑块容器中放置元素
- angular7 - forChild 路由的预加载策略问题
- c# - 如果该单元格的值等于我要查找的值,我如何遍历网格视图中的列并访问该单元格?
- r - 在函数中使用子集计算滚动应用 data.table 行
- docker - Docker for Windows 无法使用 docker-compose 挂载 nfs 驱动器
- javascript - 如何使用 Cheerio 从 XML 数据 (JavaScript) 获取标签名称?
- angular - 单击多个对象时显示描述