我遵循了https://developers.google.com/identity/sign-in/android/sign-in上的指南,在用户登录后,我可以获得登录用户的Google ID令牌。但token将在1小时后过期。
如何在旧的Google ID令牌过期后刷新有效的Google ID令牌,而不会让用户一次又一次地手动登录?我已尝试在令牌过期时使用静默登录。但它似乎不起作用。有没有办法获得有效的Google ID令牌?提前感谢!!
第一次登录时,
private fun handleSignInResult(completedTask: Task<GoogleSignInAccount>) {
try {
val account = completedTask.getResult(ApiException::class.java)
val idToken = account!!.idToken
CheckDB(this, db).execute()
} catch (e: ApiException) {
Log.e("TAG","signInResult:failed code=" + e.statusCode)
}
}
令牌到期时,我将使用静默签名
override fun onStart() {
super.onStart()
val account = GoogleSignIn.getLastSignedInAccount(this)
if(account!=null) {
sign_in_button.visibility = GONE
mGoogleSignInClient!!.silentSignIn().addOnCompleteListener(this, object : OnCompleteListener<GoogleSignInAccount>{
override fun onComplete(p0: Task<GoogleSignInAccount>) {
val account = p0.getResult(ApiException::class.java)
CheckDB(this@SignInActivity, db).execute()
}
})
}
}
发布于 2020-09-01 00:46:10
当您的用户登录(第一次也是唯一次)时,使用获得的令牌向您自己的后端服务器进行身份验证。不需要在谷歌的网站上重新登录。详情请访问:https://developers.google.com/identity/sign-in/android/backend-auth
https://stackoverflow.com/questions/63674765
复制相似问题