如何解决Google登录会引发com.google.android.gms.common.api.ApiException异常:12500
我有一个用Android编写的简单应用程序,我想在其中进行Google Sign和Firebase身份验证。我从官方页面复制粘贴代码。
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build()
if (requestCode == REQUEST_CODE_GOOGLE_SIGN_IN) {
val task = GoogleSignIn.getSignedInAccountFromIntent(data)
try {
// Google Sign In was successful,authenticate with Firebase
val account = task.getResult(ApiException::class.java)
firebaseAuthWithGoogle(account.idToken!!)
} catch (e: ApiException) {
// Google Sign In failed,update UI appropriately
Log.w("aaa","Google sign in failed",e)
// ...
}
}
但是这个简单的代码引发了异常com.google.android.gms.common.api.ApiException: 12500:
问题是什么,我检查了在线资源,每个人都说添加支持电子邮件,添加应用程序图标,但是要添加应用程序图标,我需要经过OAuth验证过程,该过程会询问很多我目前没有的数据在我刚开始开发应用程序时,请帮助我尝试解决这个问题已有48小时。
解决方法
至少在我将其上传到商店之前,它已经可以正常工作了
问题(称为Play App Signing的功能)
似乎Google Play商店正在为您的应用而不是您签名,因此Firebase检测到另一个签名密钥,并阻止了身份验证。重新签名应用程序是 Google Play商店功能,阻止通过签名您未验证的密钥签名的应用程序通过Firebase进行身份验证是 Firebase功能。
解决方案
转到Google Play商店Console→设置→应用签名→parallelism
,复制SHA-1证书指纹。
然后转到Firebase Console→项目设置→您的应用程序→添加指纹→并粘贴 SHA1 。
您在做什么
告诉Firebase接受从使用Google Play商店处理的密钥签名的应用生成的身份验证请求。以前,它仅接受来自本地签名应用程序签名的应用程序的请求,该密钥存储在计算机上。
从此处复制SHA-1:
在此处粘贴SHA-1作为指纹:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。