Ich habe eine Frage, die ich glaube nicht, wurde zuvor beantwortet. Ich bin derzeit auf der Suche nach etwas in Firebase ähnlich einer PHP-Sitzung.Wie umleiten, wenn Benutzer NICHT in Firebase angemeldet ist
Sie sehen, wenn ich mich von meiner Web-App abmelde, wird der Benutzer zurück in die Login-Seite umgeleitet, wie sie sein sollten. Sie können jedoch weiterhin direkte URLs wie home.html
eingeben und den Anmeldebildschirm umgehen.
Ich frage mich, wie dies passieren kann, wenn onAuthStateChanged
aufgerufen wird, wenn die Seite geladen wird. Es wäre sinnvoll, sie sofort umzuleiten, ähnlich wie in einer Sitzung. Leider sind sie nicht.
Dies ist der Code, der login.html
und dashboard.html
aufrufen, wenn sie geladen sind. Kann jemand Fehler erkennen, die dieses Problem verursachen könnten? Vielen Dank!
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'
}
});
}());
Hier sind die wichtigen Teile 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>
Es wäre sinnvoll für onAuthStateChanged
Feuer, zu erkennen, dass der Benutzer nicht angemeldet ist, und umleiten , Recht? Irgendwelche Ideen? Danke allen!