ios中的firebase auth管理

时间:2018-03-15 13:02:21

标签: swift firebase firebase-realtime-database firebase-authentication

我正在使用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或其他应用程序正在做的那样,每次我们使用应用程序时都不需要登录。

如果帖子有任何问题,请告诉我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

Firebase令牌在一小时左右后被禁用。您需要启用令牌服务API才能在令牌过期后刷新令牌。转到https://console.developers.google.com/,单击“启用API和服务”,搜索令牌服务API并启用它。 如果您希望应用程序执行自动登录,则可以使用KeychainAccess https://github.com/kishikawakatsumi/KeychainAccess。因此,用户每次启动应用程序时都不需要登录。