Подтвердить что ты не робот

Как получить текущего пользователя на firebase

Я хотел бы знать, как получить текущего пользователя. Я создаю функцию, в которой пользователь создает группу, и хотел бы добавить пользователя к группе одновременно. Я могу сделать группу прекрасной, это было достаточно просто. Но я не знаю, как добраться до объекта пользователя за пределами простого объекта входа.

Прошу прощения, если есть несколько тем, которые уже упоминаются, но я искал часы и не смог найти ничего, что объясняет это. Любая помощь будет оценена.

4b9b3361

Ответ 1

Входящий в систему пользователь возвращается из обратного вызова 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);