有没有办法获得Firebase Auth用户UID?

Piy*_*sal 20 javascript api node.js firebase firebase-authentication

我希望通过NodeJS或Javascript API从Firebase获取Auth User(s)UID.我已附上截图,以便您知道我在寻找什么.

在此输入图像描述

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

Dom*_*nic 28

Auth数据在Firebase 3中是异步的.因此您需要等待事件,然后您才能访问当前登录用户的UID.你将无法得到其他人.如果您已经登录,它也会在应用程序打开时被调用.

firebase.auth().onAuthStateChanged((user) => {
  if (user) {
    // User logged in already or has just logged in.
    console.log(user.uid);
  } else {
    // User not logged in or has just logged out.
  }
});
Run Code Online (Sandbox Code Playgroud)

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

  • 这不是问题的解决方案 (2认同)

小智 16

如果用户已登录,则console.log将打印出来:

if (firebase.auth().currentUser !== null) 
        console.log("user id: " + firebase.auth().currentUser.uid);
Run Code Online (Sandbox Code Playgroud)

  • 我遇到了一个问题,这在页面加载时无法立即使用。不过回调方法 (onAuthStateChanged) 对我有用。 (2认同)

小智 9

在服务器端,您可以使用 firebase admin sdk 获取所有用户信息:

const admin = require('firebase-admin')
var serviceAccount = require("./serviceAccountKey.json");

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://yourprojecturl.firebaseio.com",
});

admin.auth().listUsers().then(data=>{
    console.log(data.users)
})
Run Code Online (Sandbox Code Playgroud)