javascript - 如何在 Firebase 中添加带有电子邮件和密码的用户名?

标签 javascript firebase firebase-realtime-database promise firebase-authentication

我正在使用 Firebase,我正在尝试使用电子邮件和密码将用户名添加到数据库中。

This is how my database look like now

有没有办法做到这一点,或者 createUserWithEmailAndPassword() 函数是否仅用于电子邮件和密码?

signUp.addEventListener("click", function(user)
{
    var username = usernameTxt.value;
    var email = emailTxt.value;
    var password = passwordTxt.value;

    firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error)
    {


      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;

      if (errorCode == 'auth/email-already-in-use')
      {
            alert('email-already-in-use.');
        }
        else
        {
            alert(errorMessage);
        }
          console.log(error);

    });
});

我发现如何使用 createUserWithEmailAndPassword() 函数添加用户名的解决方案:

firebase.auth().onAuthStateChanged(function(user) {

  var username = usernameTxt.value;

  if (user) {
    firebaseDataBase.ref('users/' + user.uid).set({
        email: user.email,
        uid : user.uid,
        username: username
    });


    console.log("User is signed in.");
  } else {
     console.log("No user is signed in.");

  }
});

最佳答案

你需要自己创建那个数据库users子节点;-)

createUserWithEmailAndPassword 函数 在 Firebase 身份验证服务中创建一个新用户。结果,数据库本身根本没有改变。

要将这个新用户也添加到数据库中,请尝试:

firebase.database().ref("users").child(user.uid).set(...)

关于javascript - 如何在 Firebase 中添加带有电子邮件和密码的用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43509021/

相关文章:

android - Firebase Android 计数 child /徽章

java - Firebase 身份验证 : how to get current user's Password?

swift - Firebase 存储与游戏数据数据库

javascript - 将字节顺序标记添加到通过 PapaParse 解析的 CSV

javascript - 执行我的基本切换程序时遇到问题

java - 通过搜索Firebase获取特定的节点

java - 我如何从 firebase 检索数据到 android listview 的顶部

java - getValue(String.class) 与 getValue().toString();

javascript - AngularJS 中的绑定(bind)问题

javascript - 移动环境中的网站桌面模式