Безопасность и перенаправление Firebase - PullRequest
0 голосов
/ 27 мая 2020

Итак, я новичок в 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, как я могу предотвратить это и сделать это только один раз?

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