Je prévois de créer une arborescence principale nommée utilisateurs, qui inclura le nom des différents utilisateurs utilisés comme identifiant. Ainsi, à partir de chaque nom d'utilisateur, leurs données seront incluses, par exemple. Nom complet, adresse, numéro de téléphone.
Je veux savoir comment obtenir les données de chaque utilisateur lorsqu'il se connecte à son profil.
Tout d’abord, je vous suggère de vous familiariser avec Firebase en lisant le Guide Firebase ( Lien vers l’ancien Guide Firebase ). Tout ce que vous devez savoir pour répondre à votre propre question est disponible ici. Mais pour plus de simplicité, je vais mettre un exemple ici:
Commençons par la sécurité. Voici les règles de base de Firebase dont vous avez besoin pour cet exemple: (source: comprendre la sécurité ) (ancienne source: comprendre la sécurité )
{
"rules": {
"users": {
"$user_id": {
".write": "$user_id === auth.uid"
}
}
}
}
Je vais ignorer la création et la connexion de l'utilisateur réel et me concentrer sur la question du stockage et de la récupération des données de l'utilisateur.
Stockage des données: (source: Authentification Firebase ) (ancienne source: Authentification de l'utilisateur )
// Get a reference to the database service
var database = firebase.database();
// save the user's profile into Firebase so we can list users,
// use them in Security and Firebase Rules, and show profiles
function writeUserData(userId, name, email, imageUrl) {
firebase.database().ref('users/' + userId).set({
username: name,
email: email
//some more user data
});
}
Les données de base de feu résultantes ressembleront à ceci:
{
"users": {
"simplelogin:213": {
"username": "password",
"email": "bobtony"
},
"Twitter:123": {
"username": "Twitter",
"email": "Andrew Lee"
},
"facebook:456": {
"username": "facebook",
"email": "James Tamplin"
}
}
}
Et, dernier point mais non le moindre, la récupération des données peut s’effectuer de plusieurs manières. Pour cet exemple, je vais utiliser un exemple simple tiré du guide Firebase: (source: lecture et écriture de données ) (ancienne source: récupération de données )
//Get the current userID
var userId = firebase.auth().currentUser.uid;
//Get the user data
return firebase.database().ref('/users/' + userId).once('value').then(function(snapshot) {
//Do something with your user data located in snapshot
});
EDIT: Exemple ajouté de données de retour
Ainsi, lorsque vous êtes connecté en tant qu'utilisateur Twitter: 123, vous obtiendrez une référence à l'emplacement en fonction de votre ID utilisateur et obtiendrez ces données:
"Twitter:123": {
"username": "Twitter",
"email": "Andrew Lee"
}