我正在使用 Firebase,我正在尝试使用电子邮件和密码将用户名添加到数据库中。
有没有办法做到这一点,或者 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/