我把 GIDButton 放在我的应用程序上。它工作得很好。
但是当用户完成登录并关闭应用程序时,他必须再次登录。那就是问题所在。
有人知道我怎样才能让用户保持登录状态吗?
谢谢
我把 GIDButton 放在我的应用程序上。它工作得很好。
但是当用户完成登录并关闭应用程序时,他必须再次登录。那就是问题所在。
有人知道我怎样才能让用户保持登录状态吗?
谢谢
当用户使用 Google 登录时,Google SDK 会将用户的密码存储在钥匙串中。应用程序被杀死后登录状态消失(但钥匙串项可能没有),为此您可以检查密码是否已存储在钥匙串中并再次静默登录用户(无需用户交互)。
// Possibly show an activity indicator here
if GIDSignIn.sharedInstance().hasAuthInKeychain() {
// Sign in user without interaction
GIDSignIn.sharedInstance().signInSilently()
} else {
// Show sign in flow
GIDSignIn.sharedInstance().signIn()
}
稍后在您的代码中,处理委托回调:
extension YourLoginManager: GIDSignInDelegate {
public func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
// Possibly remove the activity indicator
if user != nil {
// Do stuff that a logged in user does
}
}
总而言之-当应用程序被终止时,您不会让用户保持登录状态,而是通过“静默”登录来重新创建登录状态。
ps 如果要注销用户并删除钥匙串项目调用:GIDSignIn.sharedInstance().disconnect()