有没有办法获得Firebase身份validation用户的UID?

我正在通过NodeJS或JavaScript API从Firebase获取Auth用户UID。 我已经附上了截图,这样你就可以知道我在找什么。

在这里输入图像描述

希望你们帮我解决这个问题。

在Firebase 3中,身份validation数据是asynchronous的。因此您需要等待事件,然后才能访问当前login用户的UID。 你将无法得到其他人。

 firebase.auth().onAuthStateChanged((user) => { if (user) { console.log(user.uid); } }); 

https://firebase.google.com/docs/reference/js/firebase.auth.Auth#onAuthStateChanged

从Firebase文档中,使用Firebase.getAuth()

 var ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com"); var authData = ref.getAuth(); if (authData) { console.log("Authenticated user with uid:", authData.uid); } 

资源:

  • Firebase.getAuth()

到目前为止,在Firebase控制台中,没有直接的API来获取用户列表,即Auth User(s)UID。
但是,在您的Firebase数据库中,您可以在用户级别维护用户UID。 如下,

 "users": { "user-1": { "uid": "abcd..", .... }, "user-2": { "uid": "abcd..", .... }, "user-3": { "uid": "abcd..", .... } } 

那么你可以做一个查询,并检索它,只要你需要的。
希望这个简单的解决scheme能帮助你!

如果用户login,那么console.log将打印出来:

 if (firebase.auth().currentUser !== null) console.log("user id: " + firebase.auth().currentUser.uid);