Google登录抛出异常com.google.android.gms.common.api.ApiException:12500
Google Sign In throws an exception com.google.android.gms.common.api.ApiException: 12500
我有一个用 Android 编写的简单应用程序,我想在其中执行 Google 签名,然后进行 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 小时了。
because at least it was working before I uploaded it to play store
问题(称为 Play App Signing 的功能)
似乎 Google Play 商店正在为您的应用程序而不是您签名,因此 Firebase 检测到不同的签名密钥,并阻止了身份验证。 Re-signing 应用是 Google Play 商店的一项功能,可防止应用通过您尚未验证的签名密钥进行签名使用 Firebase 进行身份验证是一项 Firebase 功能。
解决方案
前往 Google Play 商店 Console → 设置 → App 签名 → App signing key certificate
,复制 SHA-1 证书指纹。
然后转到 Firebase Console → 项目设置 → 您的应用程序 → 添加指纹 → 并粘贴 SHA1.
你在做什么
告诉 Firebase 接受由 Google Play 商店处理的密钥签名的应用程序生成的身份验证请求。它以前只接受来自由您本地签名的应用程序签名的应用程序的请求,其中密钥存储在您的计算机上。
从这里复制 SHA-1:
在此处粘贴 SHA-1 作为指纹:
我有一个用 Android 编写的简单应用程序,我想在其中执行 Google 签名,然后进行 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 小时了。
because at least it was working before I uploaded it to play store
问题(称为 Play App Signing 的功能)
似乎 Google Play 商店正在为您的应用程序而不是您签名,因此 Firebase 检测到不同的签名密钥,并阻止了身份验证。 Re-signing 应用是 Google Play 商店的一项功能,可防止应用通过您尚未验证的签名密钥进行签名使用 Firebase 进行身份验证是一项 Firebase 功能。
解决方案
前往 Google Play 商店 Console → 设置 → App 签名 → App signing key certificate
,复制 SHA-1 证书指纹。
然后转到 Firebase Console → 项目设置 → 您的应用程序 → 添加指纹 → 并粘贴 SHA1.
你在做什么
告诉 Firebase 接受由 Google Play 商店处理的密钥签名的应用程序生成的身份验证请求。它以前只接受来自由您本地签名的应用程序签名的应用程序的请求,其中密钥存储在您的计算机上。