google 重签名引起的Facebook 获取KeyHash问题解决办法

最近上架Google应用由于启用了Google sign导致从Google上下载的应用无法登录Facebook,

并且无法移除Google sign。

问题原因是:上传到Google后台的应用被Google重新签名名了,这样就导致Facebook等其他方式需要验证签名的三方校验无法正常运行,

而facebook 获取 keyhash 官方给出了两个方法:

解决办法1:

1. 登录谷歌商店进入应用、版本管理、应用签名、下载应用签名证书deployment_cert.der
2. keytool -import -file deployment_cert.der -keystore deployment_cert.jks 这样可以生成Google的签名文件 deployment_cert.jks
3. keytool -exportcert -keystore deployment_cert.jks | openssl sha1 -binary | openssl base64
4. 添加到到Facebook的秘钥散列中,保存更改。格式:isrFio98zGTcOgP2ASDOadOuMOA=

5. Facebook登录ok。

 

解决办法2:


private void facebookHashKey() {
    try {
         PackageInfo info = getPackageManager().getPackageInfo("your.package.name", 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 (NameNotFoundException e) {
     } catch (NoSuchAlgorithmException e) {
     }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值