如何在firebase上获取当前用户

时间:2014-09-16 01:46:23

标签: javascript firebase

我想知道如何获得当前用户。我正在创建一个用户正在创建一个组的功能,并希望同时添加组成组的用户。我可以让团队变得更好,这很简单。但我不知道如何到达简单登录对象之外的用户对象。

我很抱歉,如果有几个主题已经说明了这一点,但我一直在寻找几个小时,但却找不到任何解释它的东西。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:10)

当前登录的用户从Simple Login的回调中返回。此回调在用户进行身份验证时运行,或者如果您的用户已经过身份验证,则会在页面加载时运行。

simple login docs

获取此代码
var myRef = new Firebase("https://<your-firebase>.firebaseio.com");
var authClient = new FirebaseSimpleLogin(myRef, function(error, user) {
  if (error) {
    // an error occurred while attempting login
    console.log(error);
  } else if (user) {
    // user authenticated with Firebase
    console.log("User ID: " + user.uid + ", Provider: " + user.provider);
  } else {
    // user is logged out
  }
});

用户对象在回调中公开。它仅在执行该回调期间的范围内,因此如果您想在外部使用它,请将其存储在变量中以便稍后重复使用,如下所示:

var currentUser = {};
var myRef = new Firebase("https://<your-firebase>.firebaseio.com");
var authClient = new FirebaseSimpleLogin(myRef, function(error, user) {
  if (error) {
    // an error occurred while attempting login
    console.log(error);
  } else if (user) {
    // user authenticated with Firebase
    currentUser = user;
  } else {
    // user is logged out
  }
});
...

// Later on in your code (that runs some time after that login callback fires)
console.log("User ID: " + currentUser.uid + ", Provider: " + currentUser.provider);