Rumah >hujung hadapan web >tutorial js >Firebase Auth vs Manual Auth: Perjalanan Pembangun
Pengesahan Manual: Percubaan Awal
Pendekatan awal saya melibatkan sistem pengesahan manual, di samping Firebase untuk penyimpanan data. Prosesnya ialah:
<code class="language-javascript">const submitFormData = async (path, data) => { // Store JWT token localStorage.setItem("token", responseData.data.token); console.log("Redirecting to home page"); location.replace("/"); }; subBtn.addEventListener("click", () => { // Form validation if (!tac.checked) { showAlert("you must agree to our terms and conditions"); } else { loader.style.display = "block"; submitFormData("/signup", { name: name.value, email: email.value, password: password.value, number: number.value, tac: tac.checked, notification: notification.checked, seller: false }); } });</code>
The Roadblock
Masalah timbul apabila mengambil data pengguna dari Firebase. Objek pengguna secara konsisten kembali. Jam debugging mendedahkan batasan pendekatan manual saya. Firebase Auth menyediakan penyelesaian yang jauh lebih elegan. null
Penyelesaian Auth Firebase: Pendekatan yang diselaraskan
Beralih ke Firebase Auth secara dramatik mempermudahkan proses. Pelaksanaan yang disemak semula:pendaftaran
<code class="language-javascript">const auth = getAuth(); createUserWithEmailAndPassword(auth, email.value, password.value) .then((userCredential) => { const user = userCredential.user; loader.style.display = "block"; return submitFormData("/signup", { name: name.value, email: email.value, password: password.value, number: number.value, tac: tac.checked, notification: notification.checked, seller: false }); }) .catch((error) => { showAlert(error.message); });</code>Login
<code class="language-javascript">signInWithEmailAndPassword(auth, email.value, password.value) .then((userCredential) => { const user = userCredential.user; loader.style.display = "block"; return submitFormData("/login", { email: email.value, password: password.value }); }) .catch((error) => { showAlert(error.message); });</code>
Penambahbaikan utama:
getAuth()
createUserWithEmailAndPassword()
menguruskan pengesahan e -mel, keselamatan kata laluan, penciptaan pengguna, dan pengurusan sesi secara automatik.
signInWithEmailAndPassword()
Pengesahan bangunan dari awal adalah pengalaman pembelajaran yang berharga, tetapi Firebase Auth menawarkan alternatif yang selamat, baik, dan menjimatkan masa. Integrasi lancarnya dengan ciri-ciri keselamatan Firestore dan terbina dalam tidak ternilai untuk aplikasi pengeluaran. Untuk perisian siap pengeluaran, memanfaatkan penyelesaian yang ditetapkan seperti Firebase Auth sangat disyorkan.
Atas ialah kandungan terperinci Firebase Auth vs Manual Auth: Perjalanan Pembangun . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!