美文网首页
Google 二次签名 导致 Facebook , Google

Google 二次签名 导致 Facebook , Google

作者: xq9527 | 来源:发表于2022-12-28 17:22 被阅读0次

    前言:

    最近接了几款游戏 里面携带了facebook 授权登录和google 授权问题

    问题场景

    在没有上线之前 我们运营和测试 验收都没有问题 但是把游戏包发到商店后再重商店下载出来就不能授权登录。

    原因

    因为App上传到Google Play后,Google Play 有个签名的选择,默认是选择Google Play 的二次签名(Play App Signing),所以在开发过程中使用本地的签名文件生成的MD5值和在Key Hashes值就无效了。基于这种情况,一般两种解决方案,Google Play 也给了很明确的说明:

    解决方案

    • 方案一

    一. 将本地的签名更改成Google Play 提供的签名,好处是本地和Google play 线上的统一,方便以后管理,缺点是:之前默认Google 签名的老项目不太好更改了

    • 方案二

    二. 兼容Google Play的签名,获取到Google Play 的签名文件的MD5和Key Hashes,然后填入对应的三方平台
    本文重点讲解选择了方式二的处理步骤:
    1.登录Google Play console 后台: https://play.google.com/console/u/0/developers

    选择对应的项目---->进入到具体APP Project 管理中 -------->选择左侧的:Setup--->App integrity-->APP signing ----->找到签名证书:App signing key certificate ---->Download certificate
    如果是中文步骤:Google Play Cosole -> Your App -> 设置 -> 应用完整性 -> 应用签名密钥证书 -> 下载证书,得到证书文件deployment_cert.der


    image.png
    • 2.然后把证书加到原本地应用签名文件jks或keystore文件内
    keytool -import -file [Google Play下载的deployment_cert.der路径]  -keystore  [本地应用jks或keystore文件路径]
    

    这样就得到了一个新的签名文件


    image.png

    然后执行 keytool -list -v -keystore xxx.jks

    • 3.获取新增的别名信息YOUR_RELEASE_KEY_PATH为本地修改后的jks文件路径,获取到的新别名应该为mykey还有新的MD5值 keytool -list -v -keystore YOUR_RELEASE_KEY_PATH
    image.png
    • 4.完成步骤三就可以将新的签名文件的MD5 SHA1上传到Firbase 后台 https://console.firebase.google.com/ Project Overview--->Setting ---->Project settings ---->General---->添加新的SHA1和SHA-256 到目前为止,Google login 的问题解决了,测试下Google login success了

    image.png
    • 5.Facebook 登录需要签名文件的Key Hashes :

    keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
    如果是windows 需要安装openssl linux 和mac os 是需要安装的直接执行命令即可

    openssl 环境配置

    百度网盘下载
    链接: https://pan.baidu.com/s/1dHVBjNCHuNZX3Y5xxIidyw 提取码: vdxj 复制这段内容后打开百度网盘手机App,操作更方便哦

    image.png
    把你的openssl 安装的bin目录 路径复制 添加到环境变量里面
    image.png
    image.png
    image.png
    然后点击确定 我们打开cmd 然后 openssl version
    image.png
    我们看到环境搭建成功了 我们现在生成散列
    image.png
    这里我们要特别注意 我刚才上面的操作 我们把google 后台下载的证书添加到了我们本地的jks 签名文件里面 所以我们再查询jks签名文件的时候 里面有2个别名 ,所以我们要特别主题 要用mykey这个别名的才是我们商店下载出来的证书的
    image.png
    这边我们已经生成了新的散列 我们只需要填在firebase后台即可
    image.png
    然后测试facebook 授权登录成功 到此我们的文章记录就讲完了。

    最后总结 :

    这个问题主要是平时遇到了 所以再次记录做个笔记 我希望能帮助到各位网友和同学, 也希望网友和同学能 平时多积累 这样关键时刻就不会 一头雾水 。这个时代只会淘汰那些 没有准备的和积累的人。最后希望我都文章能帮助各位同学工作和学习 。如果觉得文章还不错希望能给我一个star 和转发

    相关文章

      网友评论

          本文标题:Google 二次签名 导致 Facebook , Google

          本文链接:https://www.haomeiwen.com/subject/eolzqdtx.html