Как добавить дополнительную информацию пользователя, такую ​​как отображаемое имя в Firebase, используя JavaScript? - PullRequest
0 голосов
/ 26 октября 2019

Используя createUserWithEmailAndPassword функцию firebase, я могу регистрировать пользователей, но как добавить дополнительную информацию, такую ​​как отображаемое имя и URL изображения? Это то, что я сделал.

const signup = document.querySelector('#signup-form');

signup.addEventListener('submit', e=>{
    e.preventDefault();
    //get user info
    const first_name = signup['firstname'].value;
    const last_name = signup['lastname'].value;
    const email = signup['email1'].value;
    const password = signup['pswd1'].value;
    //sigup the user
    firebase.auth().createUserWithEmailAndPassword(email, password).then(()=>{
      firebase.auth().onAuthStateChanged(function(user){
        if(user){
          user.updateProfile({
            displayName: first_name 
          })
        }
      })
      signup.reset();
    }).catch(function(error) {
        // Handle Errors here.
        var errorCode = error.code;
        var errorMessage = error.message;
        window.alert("Error: " + errorMessage);
        // ...
      });    
});

Ответы [ 2 ]

0 голосов
/ 27 октября 2019

Это сработало для меня.

firebase.auth().createUserWithEmailAndPassword(email, password).then(cred=>{
      cred.user.updateProfile({
        displayName: first_name + " " + last_name
      })
    })
    .catch(function(error) {
        // Handle Errors here.
        var errorCode = error.code;
        var errorMessage = error.message;
        window.alert("Error: " + errorMessage);
        // ...
    });
0 голосов
/ 26 октября 2019

Как только вы создали пользователя, вы можете получить доступ к объекту пользователя, предоставленному firebase. Используя его функцию updateProfile, вы можете передать объект, содержащий свойства, которые вы хотите, чтобы пользовательский объект имел, как показано ниже:

 var user = firebase.auth().currentUser;

user.updateProfile({
  displayName: "Jane Q. User",
  photoURL: "https://example.com/jane-q-user/profile.jpg"
}).then(function() {
  // Update successful.
}).catch(function(error) {
  // An error happened.
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...