建议将Firebase的Authentication机制和实时数据库结合使用,以避免用户在Firebase创建时登录的问题。具体步骤如下:
代码示例:
let firebaseAuth = firebase.auth(); let firebaseDatabase = firebase.database();
// 单击“注册”按钮时调用此函数。
function signUp() {
let email = document.getElementById("email").value;
let password = document.getElementById("password").value;
let username = document.getElementById("username").value;
// 在Firebase中创建新用户。不要登录。
firebaseAuth.createUserWithEmailAndPassword(email, password)
.then(function(userData) {
// 添加用户登录凭据到实时数据库中。
firebaseDatabase.ref('users/' + userData.user.uid).set({
email: email,
username: username
});
})
.catch(function(error) {
console.log(error);
});
}
// 单击“登录”按钮时调用此函数。
function signIn() {
let email = document.getElementById("email").value;
let password = document.getElementById("password").value;
firebaseAuth.signInWithEmailAndPassword(email, password)
.then(function() {
// 登录成功后导航至其他页面。
window.location.href = "home.html";
})
.catch(function(error) {
console.log(error);
});
}