Google 二次签名 导致 Facebook , Google 登录失败

news2025/1/9 1:29:57

前言:

最近接了几款游戏 里面携带了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 和转发

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126343.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用idea无法推送到gitee,显示head detached(游离分支)

在idea下将代码回退到某一历史版本,修改后push提醒detaced head,即处于游离状态,使用 git branch命令(辅助git status查看提交状态)查看: 解决方法 在git bash下***(注意)切换到项…

django使用一——规范化创建

背景 为便于后续维护,前期对django创建等操作做一些规范化要求 实操 1、【项目创建】先创建一个项目,其中SSS可以项目架构相关,XXX则是项目名称 常用命令: django startproject SSS_app_XXX如果提示报错django命令不存在&…

超全地牢场景unity3d模型素材网站整理

家人们,最近我找到了一个很好用的地牢场景unity3d模型免费素材网站 资源贼多,重点是免费!!!嘿嘿嘿!!!感兴趣的可以进去看看 接下来就给大家介绍一下我珍藏已久的网站: …

string类的基本使用及模拟实现(深浅拷贝)

目录 浅拷贝与深拷贝 string的基本使用和模拟实现 浅拷贝与深拷贝 namespace lyl { class string { public: string(const char* str) :_str(new char[strlen(str)1]) { strcpy(_str, str); } ~string() …

TPM零知识学习九 —— TPM规范学习之TPM介绍

前边的系列文章主要从实际平台移植和TPM环境搭建的角度讲解了TPM,现在到了踏实下来学习理论知识的时候了。从本篇文章开始,开启TPM2.0规范学习之旅。参考书目为:《A Practical Guide to TPM 2.0 — Using the Trusted Plaform Module in the …

利器 | REST Assured 实践(二):断言实现

在上一篇文章中,我们初步探讨了 REST Assured 的应用实践,还有很多丰富的用法需要慢慢探索研究。而 REST Assured 提供的完整断言手段,是测试工程师最常用最重要的功能之一。断言该如何使用呢? 这里以 rest-assured 官方给的一个…

好用的元数据管理工具是什么样

元数据是数据的“说明书”,元数据管理工具是企业数据治理的重要抓手,它可以帮助企业解决数据查找难、理解难等问题,促进数据的集成和共享。一个趁手的元数据管理工具是什么样的呢? 01 系统架构 从应用角度看,元数据管…

基于颜色直方图优化的图像增强方法

最近改图像颜色迁移的论文,审稿人要求补充基于直方图优化的方法细节。趁此机会,我重新下载了相关文献,决定重新学习下该类方法,并把一些细节记录在本篇博客中,供交流学习。 目录 1. 前言 2. 背景知识 3. 颜色变换 4. 颜…

若依源码分析(二)-登录流程源码分析

若依源码分析(二)-登录流程源码分析 本章节主要分析若依源码登录流程,一步一步走断点查看进入首页的全流程登录信息 1. 前台发起登录请求 http://127.0.0.1/dev-api/auth/login //auth表明这个请求走的是服务名称为auth的服务2. 后台处理流…

【虚幻引擎】UE4像素流推送PixelStreaming

一、前言 虚幻引擎像素流送(Pixel Streaming)允许你从任何有屏幕的联网设备(例如计算机,手机,平板电脑等)播放虚幻项目。在这个教程里,我们将学习如何激活虚幻引擎的像素流送并从任何Web浏览器控…

年尾结款,如何应对客户新的需求风险?

1、进行需求变更管理流程 需要提前建立需求基线,需求基线是需求变更的依据,并制定双方皆认可的需求变更流程。 在前期与用户签订合同时,可以增加一些相关条款,如限定用户提出需求变更的时间,规定何种情况的变更可以接受…

日期和时间的API

一、JDK8之前的日期和时间的API 1.System类中的currentTimeMillis() 返回当前时间与1970年1月1日0分0秒之间以毫秒为单位的时间差,称为时间戳 2.Java.util.Date类 |---java.sql.Date类 1.两个构造器的使用 >构造器一: Date(): 创建一个对应当前时间的Date对象…

CVE-2022-08475-DirtyPipe

前言CVE-2022-0847 DirtyPipe脏管道漏洞是Linux内核中的一个漏洞,该漏洞允许写只读文件,从而导致提权。调试环境• ubuntu 20.04• Linux-5.16.10• qemu-system-x86_64 4.2.1漏洞验证首先创建一个只读文件foo.txt,并且正常情况下是无法修改该…

2022年「博客之星」参赛博主:黛琳ghz

我正在参加年度博客之星评选,请大家帮我投票打分,您的每一分都是对我的支持与鼓励。五星必回,诚信互评,(如果)今日已满,明天必回,言出必行,感谢支持! 我正在…

Protobuf:python版使用

目录 Protobuf详解 Python使用方式 下载protoc 编写.proto协议文件 编译Protocol buffer 存储/读取数据测试 Protobuf详解 深入 ProtoBuf - 简介 - 简书 (jianshu.com)[索引]文章索引 - 简书 (jianshu.com) Protobuf3语法详解 - 望星辰大海 - 博客园 (cnblogs.com) Pyth…

联芸科技冲刺科创板上市:业绩表现不稳定,实控人方小玲为美国籍

12月28日,联芸科技(杭州)股份有限公司(下称“联芸科技”)在上海证券交易所递交招股书,准备在科创板上市。 本次冲刺上市,联芸科技计划募资20.50亿元,其中4.66亿元用于新一代数据存储…

prophet模块学习总结-20221228

prophet模块的基本介绍及相关用法说明。 文章目录1.基本介绍Prophet包的特点2.Prophet 模型介绍2.1 长期趋势模型2.2 The Seasonality Function(季节函数)2.3 The Holiday/Event Function(节日函数)3.使用示例3.1 快速开始3.2 调节…

MetersPhere自动化解决用户登录问题+添加钉钉机器人

MetersPhere自动化解决用户登录问题添加钉钉机器人 现在遇到的问题,做自动化的时候几乎每个接口都需要token,这个token是登录获取的,那我有很多个自动化的场景,如果我每一个场景都加入登录接口,同时执行很多场景的时候…

骨传导耳机有用吗,最好用的骨传导耳机分享

骨传导耳机有没有用这个问题,主要还是看自己需要骨传导耳机的根本需求是什么,骨传导耳机更多的使用场景是在户外运动,但是日常才室内使用或者长时间使用的耳机爱好者,骨传导耳机也能在一定程度上保护听力,下面就分享五…

浅聊OpenHarmony

接触OpenHarmony快一年了,这里简单总结下自己对OpenHarmony的理解,如果有不对的地方,欢迎来讨论。OpenHarmony是什么?了解这个之前我们可以先来看看什么是开源? 一、开源是什么? 开源简单来讲&#xff0c…