问题 如何在firebase上获取当前用户


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

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


1410
2017-09-16 01:46


起源

可以 stackoverflow.com/questions/17259556/... 回答你的问题? - ChristonianCoder
你使用什么语言/框架?假设你使用普通的JavaScript,我会回答。 - mimming


答案:


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

以此代码形式 简单的登录文档

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);

10
2017-09-16 03:02



谢谢!你认为是正确的,这对我很有帮助。真的很欣赏这一切的深入解释。 - Marty.H