Selon la documentation JS Auth sur le site Web de Firebase, il montre seulement comment obtenir le displayName et comment mettre à jour displayName. J'ai donc essayé de le mettre à jour. Mais ce n'est pas logique, car comment mettre à jour quelque chose sans le créer.
Donc ma question ici est, comment puis-je définir displayName de l'utilisateur lors de l'inscription?
function createUser(email, password) {
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function (error) {
error.message.replace(".", "");
alert(error.message + " (" + error.code + ")");
document.getElementById("password").value = "";
});
if (firebase.auth().currentUser != null) {
firebase.auth().currentUser.updateProfile({
displayName: document.getElementById("name").value
}).then(function () {
console.log("Updated");
}, function (error) {
console.log("Error happened");
});
}
}
J'ai déjà essayé cela et il a été prouvé qu'il ne fonctionnait pas ...
Cordialement, Farouk
Vous devez enchaîner la demande:
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(function(result) {
return result.user.updateProfile({
displayName: document.getElementById("name").value
})
}).catch(function(error) {
console.log(error);
});`
Je n'ai pas pu utiliser ({displayName: name}) directement (erreur de syntaxe dans l'éditeur). Ensuite, j'ai trouvé un autre moyen:
UserUpdateInfo updateInfo = UserUpdateInfo();
updateInfo.displayName = name;
result.user.updateProfile(updateInfo);
C'est dans Dart (j'utilise Firebase avec Flutter).