如何解决1小时后如何获取有效的Google ID令牌
我已经按照https://developers.google.com/identity/sign-in/android/sign-in上的指南进行操作,并且在用户登录后可以获得登录用户的Google ID令牌。但是令牌将在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()
}
})
}
}
解决方法
在用户登录时(第一次也是唯一一次),请使用获得的令牌对您自己的后端服务器进行身份验证。无需在Google处重新登录。 此处的详细信息:https://developers.google.com/identity/sign-in/android/backend-auth
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。