Firebase跟踪先前插入的记录

时间:2019-05-16 10:01:21

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

我创建了一个使用简单的javascript链接Firebase和HTML的示例应用。

即使清除了整个数据库,我也无法使用以前使用过的电子邮件进行输入

firebase是否保留以前插入的记录的记录?

html代码

<!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>

javascript

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的新用户时,我得到用户已经存在错误

请告诉我这种行为的原因。

浏览器控制台

Console of the app

Firebase控制台

Firebase console

1 个答案:

答案 0 :(得分:1)

该错误消息来自Firebase身份验证,该消息表明该电子邮件地址已被另一个帐户使用。您正在从Firebase实时数据库中删除数据。 Firebase身份验证将其用户信息存储在单独的位置,并且不了解您存储的关于这些相同用户的JSON数据。

要查找Firebase身份验证为用户保留的帐户信息(并将其删除),请转到Authentication panel in the Firebase console