Guide de référence Firebase v indique que createUserWithEmailAndPassword(email, password)
renvoie firebase.Promise
contenant une valeur non nulle firebase.User
.
Firebase v3 Authentifier avec Firebase en utilisant le Guide des comptes basés sur un mot de passe montre l'exemple suivant
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
Ma question est, je veux lancer une fonction qui ajoute l'utilisateur à mon nœud users
dans ma base de données en temps réel. Je souhaite inclure le nom d'affichage des utilisateurs que j'ai collecté à partir du formulaire d'inscription des sites. Donc, il semble que je veux faire un .then
et si la méthode createUserWithEmailAndPassword
a réussi, je veux déclencher une fonction qui écrit le nouvel utilisateur (avec le nom d'affichage) dans mon nœud de base de données en temps réel users
.
Comment modifier l'exemple de script en .then
style?
Voici l'utilisation correcte de then()
et la gestion des erreurs avec createUserWithEmailAndPassword
:
firebase.auth().createUserWithEmailAndPassword(email, password).then(function(user) {
var user = firebase.auth().currentUser;
logUser(user); // Optional
}, function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
});
function logUser(user) {
var ref = firebase.database().ref("users");
var obj = {
"user": user,
...
};
ref.Push(obj); // or however you wish to update the node
}
J'ai un autre exemple ici .
Voici ce que j'ai fait et cela a fonctionné.
function registerUsername(email,password,displayName){
firebase.auth().createUserWithEmailAndPassword(email, password).then(function(value) {
console.log(value);
}).catch(function(error) {
console.log(error);
});
}
Vérifiez cela, vous devez lire la charge utile ou l'instantané (terme Firebase)
firebase.auth().createUserWithEmailAndPassword(credentials.email, credentials.password)
.then((authData) => {
console.log("User created successfully with payload-", authData);
//Write code to use authData to add to Users
}).catch((_error) => {
console.log("Login Failed!", _error);
})