¿Usas correctamente la autenticación de Firebase?
Estoy trabajando en una aplicación nodejs. Actualmente tengo una página de inicio de sesión y una página de inicio a las que debería poder accederse después de que el usuario inicie sesión.
Decidí usar la autenticación de Google y Facebook proporcionada por Firebase. Lo he implementado, pero no estoy seguro de si esta es la forma correcta de hacerlo. Firebase también proporciona un SDK de administrador, ¿debo usarlo?
Aquí está mi código: página de inicio de sesión -
<script src="https://www.gstatic.com/firebasejs/4.10.1/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "*****", authDomain: "*****", databaseURL: "*****", projectId: "*****", storageBucket: "*****", messagingSenderId: "*****"
};
firebase.initializeApp(config);
</script>
<script src="https://cdn.firebase.com/libs/firebaseui/2.6.2/firebaseui.js"></script>
<link type="text/css" rel="stylesheet" href="https://cdn.firebase.com/libs/firebaseui/2.6.2/firebaseui.css" />
<script type="text/javascript">
// FirebaseUI config.
var uiConfig = {
signInSuccessUrl: '/home',
signInOptions: [
firebase.auth.GoogleAuthProvider.PROVIDER_ID,
firebase.auth.FacebookAuthProvider.PROVIDER_ID,
],
tosUrl: '/terms-of-use'
};
var ui = new firebaseui.auth.AuthUI(firebase.auth());
ui.start('#firebaseui-auth-container', uiConfig);
</script>
<script>
firebase.auth().onAuthStateChanged(function (user) {
if (user) {
window.location.replace("/home");
} else {
}
}, function (error) {
console.log(error);
});
</script>
página de inicio-
<script src="https://www.gstatic.com/firebasejs/4.10.1/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "*****", authDomain: "*****", databaseURL: "*****", projectId: "*****", storageBucket: "*****", messagingSenderId: "*****"
};
firebase.initializeApp(config);
</script>
<script>
firebase.auth().onAuthStateChanged(function (user) {
if (user) {
// User is signed in.
} else {
window.location.replace("/");
}
}, function (error) {
console.log(error);
});
var signOutButton = document.getElementById("sign-out-btn");
signOutButton.addEventListener("click", function () {
firebase.auth().signOut().then(function () {
// Sign-out successful.
}).catch(function (error) {
// An error happened.
});
});
</script>
Básicamente, no puedo averiguar dónde encajar firebase en la aplicación y si lo estoy usando de la mejor manera posible. Hay mucha configuración aquí y muy poco en términos de código que tengo que escribir y eso también me hace sentir un poco incómodo. ¿Podría alguien explicar que se debe usar la autenticación de firebase o apuntar en la dirección correcta? Gracias.
Mostrar la mejor respuesta