几天前,我们用自己的解决方案替换了Firebase“后端”,因此我们也摆脱了Firebase身份验证。登录中唯一更改的部分是我们如何处理收到的idToken。
在进行身份验证之前,没有任何问题,但是在删除Firebase之后,一些设备开始抛出错误代码为16和12501的public string grabTest = "";
。尽管这两个代码都是用户取消登录的结果,但我们确认存在此错误的用户是不这样做。由于登录可以在我们的测试设备上进行,因此我们无法重现该错误。
另一项观察结果是,据报告受到影响的某些用户可以在几天后登录,而无需进行任何更新或更改Google帐户。
登录的与Google相关的部分:
com.google.android.gms.common.api.ApiException
操作系统版本:主要是各种Android 8
GMS版本:// GoogleSignIn setup
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.google_web_client_id))
.requestEmail()
.build()
googleClient = GoogleSignIn.getClient(this, gso)
// start the signin flow
startActivityForResult(googleClient.signInIntent, RC_GOOGLE)
// result handling in onActivityResult
if (requestCode == RC_GOOGLE) {
val task = GoogleSignIn.getSignedInAccountFromIntent(data)
try {
val account = task.getResult(ApiException::class.java)
doAuth("google", account!!.idToken!!)
} catch (e: ApiException) {
loginFailed(e)
}
}