web-dev-qa-db-fra.com

Comment définir l'utilisateur displayName de Firebase?

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

13
user6417185

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);
});`
21
bojeil

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).

0
Hamilton