当用户在我的系统上注册时,我在内部创建用户,然后允许用户使用firebase客户端lib向Firebase注册。这会为用户生成会话令牌。稍后,当用户再次启动应用程序时,应用程序会自动将用户登录为:
ref.authWithCustomToken(sessionToken, function(error, authData) {...
debugger
我已经验证了执行该函数时sessionToken是可用的,但是从未到达debugger
,并且不会发出任何错误。
感谢任何帮助!
答案 0 :(得分:1)
我知道它有点晚了,但是我遇到了类似的问题而且让我头疼了一段时间,所以以防万一它能帮助别人,这就是我找到的。
如果我使用一个uid(uid1)生成的令牌运行authWithCustomToken
,然后使用不同的uid(uid2)在同一个ref上再次运行它,则回调不会被第二次触发周围。
就我而言,我在同一节点进程中使用的不同模块中声明了相同的ref,并尝试使用不同的uid对它们进行身份验证。虽然我已经两次声明了引用,但Firebase仍然将其视为相同的引用,因为它处于相同的进程中并且引用了相同的Firebase位置。通过在父模块中声明和授权ref,我可以在子模块中使用onAuth
,并且onAuth
回调都按预期启动。
答案 1 :(得分:0)
我遇到了与iOS类似的问题,安装后从未调用过authWithCustomToken回调。 所有连续发布都运行良好。 我的发现可能是相关的,所以我想我会分享它们。
问题是我打电话
UITableView
在AppDelegate中。事实证明,如果你先调用Firebase.goOnline()而不先登录就会搞乱回调。一旦我删除了这两行,一切都运行良好。