Je cherche à récupérer l'UID du ou des utilisateurs autorisés de Firebase via NodeJS ou l'API Javascript. J'ai joint une capture d'écran pour que vous puissiez avoir une idée de ce que je recherche.
J'espère que vous m'aidez avec ça.
Les données d'authentification sont asynchrones dans Firebase 3. Vous devez donc attendre l'événement, puis accéder à l'UID de l'utilisateur actuellement connecté. Vous ne pourrez pas avoir les autres. Elle sera également appelée à l'ouverture de l'application, si vous êtes déjà connecté.
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.
}
});
Dans votre application, vous pouvez soit enregistrer cet objet utilisateur, soit obtenir l'utilisateur actuel à tout moment avec firebase.auth().currentUser
.
https://firebase.google.com/docs/reference/js/firebase.auth.Auth#onAuthStateChanged
si un utilisateur est connecté, le fichier console.log affichera:
if (firebase.auth().currentUser !== null)
console.log("user id: " + firebase.auth().currentUser.uid);
Pour l'instant, dans la console Firebase, il n'y a pas d'API directe permettant d'obtenir une liste des utilisateurs, UID du ou des utilisateurs autorisés.
Mais dans votre base de données Firebase, vous pouvez conserver l’UID utilisateur au niveau utilisateur. Comme ci-dessous,
"users": {
"user-1": {
"uid": "abcd..",
....
},
"user-2": {
"uid": "abcd..",
....
},
"user-3": {
"uid": "abcd..",
....
}
}
Ensuite, vous pouvez faire une requête et la récupérer chaque fois que vous en avez besoin.
J'espère que cette solution simple pourrait vous aider!
Dans la documentation Firebase, utilisez 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);
}
Source: