首页 文章

退出Firebase中的应用后如何维护用户会话

提问于
浏览
8

我有一个使用Firebase作为后端的应用 . 我的应用程序使用简单的电子邮件和密码登录实现Firebase-Authentication API进行身份验证 .

除了一个问题,一切正常 . 我想在用户关闭应用程序后维护用户会话 .

FIRAuth.auth()?currentUser?拥有适用于当前用户的所有用户属性(例如:uid,email,token等...) . 我注意到的问题是FIRAuth.auth()?currentUser?不持久 . 因此,在退出应用程序并再次启动后,它将返回null .

我不想在用户每次打开应用程序再次登录时询问用户 . 有没有解决的办法?

2 回答

  • -2

    Firebase应该已经通过应用启动跟踪您的用户 .

    您的问题可能是直接使用 FIRAuth.auth()?.currentUser? 而不是推荐的方法 .

    获取当前用户的推荐方法是在Auth对象上设置一个侦听器:FIRAuth.auth()?addStateDidChangeListener {auth,user in
    if let user = user {
    //用户已登录
    } else {
    //没有用户登录
    }
    }
    通过使用侦听器,可以确保Auth对象不处于中间状态 - 例如初始化 - 当您获得当前用户时 .

    在我自己的应用程序中,我使用两者 . 如果用户不存在第一种方法,则移动到第二种方法,如果失败,则显示登录/注册屏幕 .

  • 30

    FirAuth已更名为Auth

    请使用最新的Firebase pod

相关问题