创建用户时,如何实时通过电子邮件和密码添加用户名?

时间:2019-08-20 03:24:22

标签: firebase firebase-realtime-database google-cloud-firestore firebase-authentication

在创建用户时,我想为该特定的UID创建自定义用户名,并检查该用户名是否被其他人使用。

我尝试使用updateProfile(),但我认为它不起作用。

      btnSignup.addEventListener('click', e => {
            const email = signupEmail.value;
            const pass = signupPassword.value;
            const userName = signupUsername.value;
              firebase.auth().createUserWithEmailAndPassword(email, pass)
              .then(function () {
                user = firebase.auth().currentUser;
                user.sendEmailVerification();
              })
              .then(function () {
                user.updateProfile({
                  username: userName
                });
              })
              .catch(function(error) {
                console.log(error.message);
              });
              alert('Validation link was sent to ' + email + '.');
      });

注册时,我只希望将用户名分配给该特定的UID,而不要分配任何其他信息(配置文件pic和所有)。

1 个答案:

答案 0 :(得分:0)

let user;
firebase.auth().createUserWithEmailAndPassword(email, pass)
              .then(function () {
                user = firebase.auth().currentUser;
                user.sendEmailVerification();
              })
              .then(function () {
                user.updateProfile({
                  username: userName
                });
              })
              .catch(function(error) {
                console.log(error.message);
              });

这可能会对您有所帮助。