У меня есть вопрос, на который я не верю, был дан ответ раньше. В настоящее время я ищу что-то в Firebase, подобное сеансу PHP.Как перенаправить, если пользователь не зарегистрирован в Firebase
Вы видите, когда я выхожу из своего веб-приложения, пользователь перенаправляется обратно на страницу входа, как и должно быть. Тем не менее, они все еще могут вводить прямые URL-адреса, такие как home.html
, и обходить экран входа.
Мне интересно, как это может произойти, если onAuthStateChanged
вызывается, когда страница загружается. Было бы разумно немедленно перенаправить их, подобно сеансу. К сожалению, это не так.
Это код, который login.html
и dashboard.html
звоните, когда они загружены. Может ли кто-нибудь обнаружить ошибку, которая может вызвать эту проблему? Благодаря!
App.js
(function(){
const config ={
apiKey: " :) ",
authDomain: " :)",
databaseURL: " :) ",
storageBucket: " :)",
messagingSenderId: ":)"
};
firebase.initializeApp(config);
//Grab Login Elements
const loginBtn = document.getElementById('sign-in-btn');
const emailTxt = document.getElementById('user-email');
const passTxt = document.getElementById('user-password');
//Set the click event to sign the user in
loginBtn.addEventListener('click', e => {
const email = emailTxt.value;
const password = passTxt.value;
const auth = firebase.auth();
//Actually Sign In
const promise = auth.signInWithEmailAndPassword(email, password);
promise.catch(e=> console.log(e.message));
});
//Realtime Authstate Listener
firebase.auth().onAuthStateChanged(firebaseUser => {
if(firebaseUser){
window.location = 'dashboard.html'
}else{
window.location = 'login.html'
}
});
}());
Вот важные части dashboard.html
<!DOCTYPE html>
<html>
<head>
<title>My App</title>
<link rel="stylesheet" type="text/css" href="styles/dashboardstyle.css">
<script src="https://www.gstatic.com/firebasejs/3.6.4/firebase.js"></script>
<body>
<script type="text/javascript" src="scripts/app.js"></script>
<script type="text/javascript" src="scripts/dashboard.js"></script>
</body>
</html>
Это будет иметь смысл для onAuthStateChanged
огня, понимают, что пользователь не вошел в систему, и перенаправлять , правильно? Есть идеи? Спасибо всем!