我创建了一个使用简单的javascript链接Firebase和HTML的示例应用。
即使清除了整个数据库,我也无法使用以前使用过的电子邮件进行输入
firebase是否保留以前插入的记录的记录?
<!DOCTYPE html>
<html>
<head>
<script src="https://www.gstatic.com/firebasejs/5.8.5/firebase.js"></script>
<script src="./script.js"></script>
<title>Test</title>
</head>
<body onload="load()">
<h1 style="color:red">Welcome</h1>
<button onclick="Login()">Login</button>
<button onclick="create()">Create</button>
<button onclick="getUserDetails()">user details</button>
<button onclick="signOut()">Sign out</button>
Email :
<input type="email" name="email" id="email">
Password:
<input type="password" name="pass" id="pass">
</body>
</html>
function load() {
var config = {
<firebase config>
};
firebase.initializeApp(config);
}
function Login() {
var data = {
email: document.getElementById("email").value,
password: document.getElementById("pass").value
};
console.log(data)
firebase.auth().signInWithEmailAndPassword(data.email, data.password)
.then(function (authData) {
console.log(authData)
})
.catch(function (error) {
console.log("Login Failed!", error);
});
}
function create() {
var data = {
email: document.getElementById("email").value,
password: document.getElementById("pass").value
};
console.log(data)
firebase.auth()
.createUserWithEmailAndPassword(data.email, data.password)
.then(function (user) {
writeUserData("123", "test", data.email, data.password)
})
.catch(function (error) {
console.log("creation Failed!", error);
});
}
function writeUserData(userId, name, email, pwd) {
firebase.database().ref('users/' + userId).set({
username: name,
email: email,
test: pwd
});
}
在控制台中,即使数据库中没有数据,我也收到成功消息,即成功登录,并且从firebase获得了令牌作为回报。
从控制台清除/删除数据后,尝试创建具有相同电子邮件ID的新用户时,我得到用户已经存在错误
请告诉我这种行为的原因。
答案 0 :(得分:1)
该错误消息来自Firebase身份验证,该消息表明该电子邮件地址已被另一个帐户使用。您正在从Firebase实时数据库中删除数据。 Firebase身份验证将其用户信息存储在单独的位置,并且不了解您存储的关于这些相同用户的JSON数据。
要查找Firebase身份验证为用户保留的帐户信息(并将其删除),请转到Authentication panel in the Firebase console。