【问题标题】:Firebase Auth iOS user Anonymously create but not showing in consoleFirebase Auth iOS 用户匿名创建但未在控制台中显示
【发布时间】:2019-01-31 20:44:18
【问题描述】:

突然间,这种行为开始发生而没有改变任何东西。基本上,我可以匿名创建用户,甚至可以使用电子邮件/密码创建用户。我没有收到任何错误,实际上我能够检索用户 ID。但是,当我转到控制台中的用户列表时,它总是空的。

Auth.auth().signInAnonymously() { user, error in
    self.ifNoError(error) {
        print("Signed In Anonymously \(user?.user.uid)")
    }
}

结果:

匿名登录可选(“qQazZ3MX8LfQdnlz8F27QDxAT9U2”)

提前谢谢你

【问题讨论】:

  • 您在哪里寻找“身份验证”?检查 Auth.auth().currentUser
  • 我得到 true for Auth.auth().currentUser?.isAnonymous 并且 uid 与上面显示的相同
  • 我刚去禁用匿名登录,它仍然允许我匿名登录??这很奇怪!
  • This -> self.ifNoError(error) 是可疑的,可能会提供您实际登录的错误指示。

标签: ios iphone swift firebase firebase-authentication


【解决方案1】:

您是否曾在任何时候从 Firebase 控制台中删除匿名用户,然后再上线或类似情况?这就是我所做的,没有意识到 firebase 让该用户在您的设备上保持活跃......即使您从设备中删除应用程序并重新安装。此外,它仍然可以作为接受的匿名用户工作(即使从控制台中删除),直到您在给定设备上强制注销。 (哎呀。TL;DR)。试试这个。

  1. 在您的应用委托中注销用户

    FIRAuth *auth = [FIRAuth auth]; NSError *error; [auth signOut:&error];

  2. 创建另一个匿名用户

    [auth signInAnonymouslyWithCompletion:^(FIRAuthDataResult * _Nullable authResult, NSError * _Nullable error) { NSLog(@"Error is %@", error); NSLog(@"Auth result user id is %@", authResult.user.uid); }];

就我而言,我的设备现在显示了一个新用户 UUID,并且该用户显示在 Firebase 控制台中。

有趣的事实:Android 似乎不会出现这个问题。我的 Android 应用程序共享同一个生产 Firestore,在我从设备中删除应用程序并重新安装后,它愉快地创建了一个新用户。

【讨论】:

    【解决方案2】:

    我设法通过创建手动用户电子邮件/密码(在控制台上手动)、通过代码登录、通过代码删除它来解决问题。然后更改代码以再次匿名登录。这样就解决了问题!!

    【讨论】:

      猜你喜欢
      • 2017-09-29
      • 2019-10-30
      • 2018-10-05
      • 2020-04-17
      • 2017-12-10
      • 1970-01-01
      • 2016-07-10
      • 2021-01-12
      • 1970-01-01
      相关资源
      最近更新 更多