Google 二次簽名 導(dǎo)致 Facebook , Google 登錄失敗

前言:

最近接了幾款游戲 里面攜帶了facebook 授權(quán)登錄和google 授權(quán)問題

問題場景

在沒有上線之前 我們運(yùn)營和測試 驗(yàn)收都沒有問題 但是把游戲包發(fā)到商店后再重商店下載出來就不能授權(quán)登錄。

原因

因?yàn)锳pp上傳到Google Play后,Google Play 有個(gè)簽名的選擇,默認(rèn)是選擇Google Play 的二次簽名(Play App Signing),所以在開發(fā)過程中使用本地的簽名文件生成的MD5值和在Key Hashes值就無效了?;谶@種情況,一般兩種解決方案,Google Play 也給了很明確的說明:

解決方案

  • 方案一

一. 將本地的簽名更改成Google Play 提供的簽名,好處是本地和Google play 線上的統(tǒng)一,方便以后管理,缺點(diǎn)是:之前默認(rèn)Google 簽名的老項(xiàng)目不太好更改了

  • 方案二

二. 兼容Google Play的簽名,獲取到Google Play 的簽名文件的MD5和Key Hashes,然后填入對(duì)應(yīng)的三方平臺(tái)
本文重點(diǎn)講解選擇了方式二的處理步驟:
1.登錄Google Play console 后臺(tái): https://play.google.com/console/u/0/developers

選擇對(duì)應(yīng)的項(xiàng)目---->進(jìn)入到具體APP Project 管理中 -------->選擇左側(cè)的:Setup--->App integrity-->APP signing ----->找到簽名證書:App signing key certificate ---->Download certificate
如果是中文步驟:Google Play Cosole -> Your App -> 設(shè)置 -> 應(yīng)用完整性 -> 應(yīng)用簽名密鑰證書 -> 下載證書,得到證書文件deployment_cert.der


image.png
  • 2.然后把證書加到原本地應(yīng)用簽名文件jks或keystore文件內(nèi)
keytool -import -file [Google Play下載的deployment_cert.der路徑]  -keystore  [本地應(yīng)用jks或keystore文件路徑]

這樣就得到了一個(gè)新的簽名文件


image.png

然后執(zhí)行 keytool -list -v -keystore xxx.jks

  • 3.獲取新增的別名信息YOUR_RELEASE_KEY_PATH為本地修改后的jks文件路徑,獲取到的新別名應(yīng)該為mykey還有新的MD5值 keytool -list -v -keystore YOUR_RELEASE_KEY_PATH
image.png
  • 4.完成步驟三就可以將新的簽名文件的MD5 SHA1上傳到Firbase 后臺(tái) 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 是需要安裝的直接執(zhí)行命令即可

openssl 環(huán)境配置

百度網(wǎng)盤下載
鏈接: https://pan.baidu.com/s/1dHVBjNCHuNZX3Y5xxIidyw 提取碼: vdxj 復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機(jī)App,操作更方便哦

image.png

把你的openssl 安裝的bin目錄 路徑復(fù)制 添加到環(huán)境變量里面
image.png

image.png

image.png

然后點(diǎn)擊確定 我們打開cmd 然后 openssl version
image.png

我們看到環(huán)境搭建成功了 我們現(xiàn)在生成散列
image.png

這里我們要特別注意 我剛才上面的操作 我們把google 后臺(tái)下載的證書添加到了我們本地的jks 簽名文件里面 所以我們再查詢jks簽名文件的時(shí)候 里面有2個(gè)別名 ,所以我們要特別主題 要用mykey這個(gè)別名的才是我們商店下載出來的證書的
image.png

這邊我們已經(jīng)生成了新的散列 我們只需要填在firebase后臺(tái)即可
image.png

然后測試facebook 授權(quán)登錄成功 到此我們的文章記錄就講完了。

最后總結(jié) :

這個(gè)問題主要是平時(shí)遇到了 所以再次記錄做個(gè)筆記 我希望能幫助到各位網(wǎng)友和同學(xué), 也希望網(wǎng)友和同學(xué)能 平時(shí)多積累 這樣關(guān)鍵時(shí)刻就不會(huì) 一頭霧水 。這個(gè)時(shí)代只會(huì)淘汰那些 沒有準(zhǔn)備的和積累的人。最后希望我都文章能幫助各位同學(xué)工作和學(xué)習(xí) 。如果覺得文章還不錯(cuò)希望能給我一個(gè)star 和轉(zhuǎn)發(fā)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容