【问题标题】:IOS- Swift-Firebase Auth token lasts after deleting the appIOS- Swift-Firebase Auth 令牌在删除应用程序后持续存在
【发布时间】:2018-08-16 23:59:01
【问题描述】:

我需要帮助解决这个问题。我正在模拟用户删除应用程序并从 Firebase 中经过身份验证的用户中删除然后重新安装应用程序的情况。

再次重新安装应用后,请拨打以下电话:

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)


    Auth.auth().addStateDidChangeListener { auth, user in
        if user != nil {
            // User is signed in. Show home screen

return user !=nil 这样用户就被重定向到主 VC 上,无需身份验证,也无权这样做。

几个小时后,同一呼叫报告用户 == nil 提示输入身份验证 VC。

我怀疑这是由于 Auth 令牌需要时间才能过期。 如何以干净的方式处理这种情况并确保如果用户在 Firebase 上没有身份验证,则需要将其重定向到 auth VC?

我仅在重要时才使用电话号码身份验证。

谢谢。

【问题讨论】:

    标签: ios swift firebase firebase-authentication


    【解决方案1】:

    根据 Firebase 文档:Firebase

    注册令牌可能会在以下情况下发生变化:

    • 应用已在新设备上恢复
    • 用户卸载/重新安装应用程序
    • 用户清除应用数据。

    在这种逻辑下,每次您将 firebase 令牌发送到后端并且您注意到 user1 已更改令牌时,您可以假设他重新安装了应用程序,因此将他发送到您认为合适的视图控制器,现在关于您的问题用户最终报告为零,这听起来像是关于如何保存数据的问题,而不是 Firebase 本身的问题,您是否将用户保存在数据库中?用户默认?检查你的实现。

    【讨论】:

    • 嗨,我什么都不做,不外乎firebase.google.com/docs/auth/ios/phone-auth 只是认为我正在保存 userdefaults 是 UserDefaults.standard.set(verificationID, forKey: "authVerificationID") 根据手册。当我进行这个测试时,我也会删除数据库上的用户。
    • 根据firebase文档,您需要做的是在您登录后从firebase审查用户,该函数在使用后返回nil是非常有意义的,因为该函数仅用于让用户登录,然后在同一个块中返回用户,但此后再也没有。您需要的是在登录并使用后连接到 Firebase 身份验证本身 if Auth.auth().currentUser != nil { // 用户已登录。 // ... } else { // 没有用户登录. // ... } 文档firebase.google.com/docs/auth/ios/manage-users
    • 嗨 Velix007,谢谢你,但从我在这里看到的情况来看,这绝对是否定的。 Auth.auth().currentUser!.uid 仍然会报告旧的 uid,直到它过期。快速拦截重新安装应用程序的唯一方法是使用 userdefault 进行标记,如果 UserDefaults 为 nil,则再次进行身份验证。这很奇怪,我不认为这是设计使然,否则我会期待很多抱怨。关键是我不知道为什么会发生这种情况,因为我不知道 Firebase 的身份验证令牌存储在哪里。我再说一遍,只有当用户在 1//2 小时的短时间内重新安装应用程序时才会发生这种情况
    • 问题,您为什么要如此努力地查看用户是否已卸载应用程序?据我所知,没有官方方法可以检查用户是否这样做。
    • 因为我需要测试一些功能,所以在进行这些测试时,我很害怕如果我们要求客户出于任何原因重新安装应用程序会产生什么样的印象,而且它的工作方式很奇怪。印象不好,客户走了。
    猜你喜欢
    • 2021-02-14
    • 2022-06-10
    • 2017-12-13
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 2016-07-30
    • 2020-11-09
    • 1970-01-01
    相关资源
    最近更新 更多