NodeJSまたはJavascript APIを介してFirebaseから認証ユーザーUIDを取得しようとしています。私が探しているものがわかるように、スクリーンショットを添付しました。
皆さん、これで私を助けてくれることを願っています。
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.
}
});
_
アプリ内で、このユーザーオブジェクトを保存するか、firebase.auth().currentUser
を使用していつでも現在のユーザーを取得できます。
https://firebase.google.com/docs/reference/js/firebase.auth.Auth#onAuthStateChanged
ユーザーがログインしている場合、console.logが出力されます:
if (firebase.auth().currentUser !== null)
console.log("user id: " + firebase.auth().currentUser.uid);
現在、Firebaseコンソールには、ユーザーのリストであるAuth User(s)UIDを取得するための直接的なAPIはありません。
ただし、Firebaseデータベース内では、ユーザーレベルでユーザーUIDを維持できます。以下のように、
"users": {
"user-1": {
"uid": "abcd..",
....
},
"user-2": {
"uid": "abcd..",
....
},
"user-3": {
"uid": "abcd..",
....
}
}
その後、クエリを作成し、uidが必要なときにいつでも取得できます。
この簡単な解決策があなたのお役に立てば幸いです!
Firebase docsから、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);
}
出典: