【问题标题】:authWithCustomToken not firing callbackauthWithCustomToken 不触发回调
【发布时间】:2015-08-05 18:44:21
【问题描述】:

当用户在我的系统上注册时,我会在内部创建用户,然后允许用户使用 firebase 客户端库向 Firebase 注册。这会为用户生成一个会话令牌。稍后,当用户再次启动应用时,应用会自动让用户登录,如下所示:

ref.authWithCustomToken(sessionToken, function(error, authData) {...
  debugger

我已经验证了 sessionToken 在函数执行时是可用的,但是从来没有达到debugger,也没有发出任何错误。

感谢任何帮助!

【问题讨论】:

  • 这里不足以重现错误。版本信息、应用仪表板中的设置、您是否使用 Ionic/Cordova/Other,许多其他因素都可能在此处产生影响,正如您可能想象的那样。

标签: firebase firebase-authentication


【解决方案1】:

我知道这有点晚了,但我遇到了类似的问题,这让我摸不着头脑,所以以防万一它对其他人有帮助,这就是我的发现。

如果我使用使用一个 uid (uid1) 生成的令牌运行 authWithCustomToken,然后使用不同的 uid (uid2) 在同一个引用上再次运行它,则第二次不会触发回调。

在我的例子中,我在同一个节点进程中使用的不同模块中声明了相同的 ref,并尝试使用不同的 uid 对它们进行身份验证。尽管我已经两次声明了 ref,但 Firebase 仍然认为它是同一个 ref,因为它在同一个进程中并且引用了同一个 Firebase 位置。通过在父模块中声明和授权 ref,我可以在子模块中使用 onAuth 并且所有 onAuth 回调都按预期触发。

【讨论】:

    【解决方案2】:

    我在 iOS 上遇到了类似的问题,安装后从未调用过 authWithCustomToken 回调。 所有连续的发射都运行良好。 我的发现可能是相关的,所以我想我分享它们。

    问题是我叫了

    func applicationWillResignActive(application: UIApplication) {
        Firebase.goOffline()
    }
    
    func applicationWillEnterForeground(application: UIApplication) {
        Firebase.goOnline()
    }
    

    在 AppDelegate 中。事实证明,如果您在没有先登录的情况下调用 Firebase.goOnline(),它会弄乱回调。一旦我删除了这两行,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 2010-10-09
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多