Android集成Facebook登录时遇到的问题invalid key hash.the key hash
一、Facebook:登录功能已停用,我们已停用通过嵌入式浏览器登录Facebook的功能
错误提示:
为保护账户安全,我们已停用通过嵌入式浏览器登录Facebook的功能。若要继续,请更新登录使用的应用并重试。部分手机还会提示:
登录出错:将你登入到此应用程序时出错。请稍后再试。
当前问题解决方式:
Facebook Sdk 版本 遇到当前问题时,检查当前项目集成的Facebook sdk版本是否为8.0及以下,只需要将sdk的版本调整为最新版本即可。二、GooglePlay 下载的应用登录Facebook报错:invalid key hash.the key hash does not match any stored key hashes.Configure your app key hashes at
Facebook集成文档 在解决上一个问题时,使用最新版sdk,开发环境下测试正常,在将应用发布到google play后,下载测试,在进行Facebook登录时遇到了这个奇怪的错误。反复检查后确定,已经按照Facebook的SDK接入流程进行了接入和测试,并且也添加了发布证书的key hash,却又出来一个新的未知的key hash呢?错误提示:
Invalid key hash. The key hash xxxxxxxx does not match any stored key hashes. Configure your app key hashes at https://developers.facebook.com/apps/xxxxx
生成发布密钥散列
Android 应用必须先使用发布密钥进行电子签名,然后才能上传到商店中。如要生成发布密钥散列,请在 Mac 或 Windows 内运行以下命令,并替换您的发布密钥别名和密钥库路径
YOUR_RELEASE_KEY_ALIAS 替换为当前别名
YOUR_RELEASE_KEY_PATH 替换为当前key的路径
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
当前问题解决方式:
出现当前错误的原因是,本地打出来的release包(不管是apk还是aab的)在上传到google play后台时应用都会被重新签名,这个签名的hash值在facebook后台并没有进行注册。因此在进行Facebook登录时会提示用户hash不正确Google后台管理选择当前应用->设置(setup)->应用完整性(app integrity)1、下载当前应用在google play的证书 2、获取证书的hash值 执行以下命令,获取hash值
openssl dgst -sha1 -binary <GooglePlay的发布证书地址>.der | openssl base64
3、将获取到的hash值注册到facebook
声明:本站所有资源,如无特殊说明或标注,所有资源来源于用户上传和网络,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,请联系万能客服QQ微信同号 416070154删除。