在呈现视图之后,Firebase似乎无法解析当前用户。有什么方法吗?

时间:2016-08-16 03:31:16

标签: angularjs parse-platform firebase firebase-authentication

我正在将使用Parse作为骨干用户数据库的应用转换为Firebase。在呈现任何视图或执行控制器之前,Parse似乎总是重新验证用户。即如果你在网站上打开一个页面(甚至是像www.mysite.com/admin/my_account_details这样的深层链接页面),

Parse.User.current()

将返回当前用户 - Parse工具包已重新验证(或缓存)当前用户的数据。因此,如果用户已登录,控制器代码可能依赖于Parse.User.current()始终是有效的用户对象,即使页面在网站深处打开(例如,通过书签)。

Firebase似乎不会这样工作。在我的.run()方法中,我有一些效果:

 firebase.auth().onAuthStateChanged(function(user) {
          if (user) {   
              // do something with current user
          }
       });

但是此代码在控制器代码之后执行,这取决于当前用户的信息。换句话说,

 firebase.auth().currentUser

没有返回任何用户,即使在firebase加载完成后,也会有当前用户。

我在这个诊断中是否正确?有没有办法确保firebase在执行任何控制器代码之前重新连接当前用户?

0 个答案:

没有答案