无法仅从Firebase获取当前用户名

时间:2017-10-05 12:09:04

标签: javascript html firebase firebase-realtime-database firebase-authentication

我有一个网络应用程序。我可以从firebase获取详细信息。 目标:获取当前登录用户的用户名并将其显示在标签中。 当前场景:我能够获取用户名。但是,问题是,如果Firebase数据库中有3个用户,则会获取并附加所有用户的用户名。

以下是截图: browser console output

在屏幕截图中,有两个用户名,Pasuad和Karthik Babu。我以Pasuad身份登录,它显示用户名为Pasuad Karthik Babu,因为它应该只显示Pasuad。 firebase console output

以下是代码段:

 var config = {
apiKey: "AIzaSyDefsNT1f5-MSKvlh-JnoeJQxfWPKgnZto",
authDomain: "woofydesk-9fe8b.firebaseapp.com",
databaseURL: "https://woofydesk-9fe8b.firebaseio.com",
projectId: "woofydesk-9fe8b",
storageBucket: "woofydesk-9fe8b.appspot.com",
messagingSenderId: "1000344965487"
  };

firebase.initializeApp(config);


  var rootRef = firebase.database().ref('WoofyDesktop/UserList');
  rootRef.on("child_added", snap => {

var username = snap.child("username").val();
 $("#username").append("<a href='javascript:void(0)'><label>" + username + "</label></a>");

  console.log(username);

  });

非常感谢任何见解或建议!!

1 个答案:

答案 0 :(得分:1)

您正在阅读存储在实时数据库中的一些用户信息,如果您只想要当前登录的用户信息,那么您必须使用firebase auth服务:查看其文档:https://firebase.google.com/docs/auth/web/start 你做了类似的事情:

firebase.auth().onAuthStateChanged((user) => {

  // User is signed in.
  if (user) {
    console.log(user.displayName + " has logged in!");
  }
  // No user is signed in.
  else {
    console.log("user is logged out");

  }
});

}