我正在使用swift在ios中使用firebase。登录到应用程序后,我从我的firebase数据库中获取数据很好。现在,如果我在没有注销的情况下关闭我的应用程序并在30分钟或大约一个小时后重新运行,我可以看到我的用户已登录但数据不是来自数据库。在我注销并再次登录后,数据显示出来。 以下是我执行操作以获取数据后检查用户是否登录的代码。
if Auth.auth().currentUser?.uid == nil{
print("Logout call")
perform(#selector(handleLogout), with: nil, afterDelay: 0)
}else{
print("User Logged In")
fethUser()
}
在运行应用程序一段时间后,我可以看到“用户已登录”消息,但数据未获取。 我认为这是因为会话或令牌超时而发生的。如果是这种情况,那么如何在我的应用程序上保留登录信息?就像paytm或其他应用程序正在做的那样,每次我们使用应用程序时都不需要登录。
如果帖子有任何问题,请告诉我。提前谢谢。
答案 0 :(得分:0)
Firebase令牌在一小时左右后被禁用。您需要启用令牌服务API才能在令牌过期后刷新令牌。转到https://console.developers.google.com/,单击“启用API和服务”,搜索令牌服务API并启用它。 如果您希望应用程序执行自动登录,则可以使用KeychainAccess https://github.com/kishikawakatsumi/KeychainAccess。因此,用户每次启动应用程序时都不需要登录。