Firebase отслеживает предыдущие вставленные записи - PullRequest
2 голосов
/ 16 мая 2019

Я создал образец приложения, связывающего Firebase и HTML, используя простой JavaScript.

Даже после очистки всей базы данных я не мог сделать запись с электронным письмом, которое я использовал ранее

Хранит ли база данных записи ранее вставленных записей?

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>

1010 * 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, даже если в базе данных нет данных. При попытке создать нового пользователя с тем же идентификатором электронной почты после очистки / удаления данных из консоли я получаю, что пользователь уже существует, ошибка Скажите, пожалуйста, причину такого поведения. консоль браузера

Console of the app

Консоль Firebase

Firebase console

1 Ответ

1 голос
/ 16 мая 2019

Сообщение об ошибке приходит от Firebase Authentication, в котором говорится, что адрес электронной почты уже используется другой учетной записью. Вы удаляете данные из базы данных Firebase Realtime. Аутентификация Firebase хранит информацию о своих пользователях в отдельном месте и не знает о данных JSON, которые вы храните о тех же пользователях.

Чтобы найти информацию об учетной записи, которую Firebase Authentication хранит для пользователя (и удалить ее), перейдите на панель Authentication в консоли Firebase .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...