有没有办法获得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);