Итак, я новичок в firebase и javascript, и мне интересно, сохранены ли мои данные.
Это мой js файл:
// Your web app's Firebase configuration
var firebaseConfig = {
//firebase config here
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
const auth = firebase.auth();
function signIn(){
var email = document.getElementById("txtEmail");
var password = document.getElementById("txtPassword");
const promise = auth.signInWithEmailAndPassword(email.value, password.value);
promise.catch(e => console.log(e.message));
promise.then(() => {
window.location.replace("main.html");
});
}
function signOut(){
auth.signOut()
console.log("Successfully signed out!");
window.location.replace("login.html");
}
auth.onAuthStateChanged(function(user) {
if (user) {
var email = user.email;
document.getElementById("fb-email").innerHTML = "Welcome User : " + email;
} else {
//redirect to login.html?
}
});
Так что на самом деле, если пользователь вошел в систему, ему показываются разумные данные. Если кто-то отключит javascript в браузере и знает путь перенаправления, он фактически получит доступ к main.html
, но, как я вижу, он не будет обращаться к данным, как я определил в auth.onAuthStateChanged
. Это правильно? Что я могу здесь улучшить? Если у вас есть что-то, тогда покажите мне код.
Второй вопрос: если я добавлю window.location.replace("login.html");
к auth.onAuthStateChanged
, где кто-то не вошел в систему, пользователь будет перенаправлен в бесконечном l oop, как я могу предотвратить это и сделать это только один раз?