首页 > web前端 > js教程 > Firebase Auth vs手册Auth:开发人员&#S之旅

Firebase Auth vs手册Auth:开发人员&#S之旅

Susan Sarandon
发布: 2025-01-28 06:34:11
原创
767 人浏览过

Firebase Auth vs Manual Auth: A Developer

开发一个新的电子商务平台,融合了Stockx和eBay功能,提出了陡峭的学习曲线。 我的第一个主要项目,我最初是针对完全定制的解决方案,包括身份验证的。但是,这一决定强调了Firebase Auth比手动身份验证的显着优势。

>

>手动身份验证:初始尝试

>

>我的初始方法涉及手动身份验证系统,以及用于数据存储的Firebase。该过程是:

  1. >注册:>收集用户数据,生成JWT(JSON Web令牌),然后将用户详细信息存储在Firebase中。>
  2. >
  3. 登录:验证凭证针对firebase数据库,使用JWT进行身份验证,然后重定向到主页。>
  4. 此初始实现(如下所示)似乎很简单:>

障碍
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
    });
  }
});
登录后复制

从Firebase获取用户数据时出现问题。 用户对象始终返回。 调试数小时揭示了我的手动方法的局限性。 Firebase auth提供了更优雅的解决方案。

>

nullfirebase auth解决方案:一种简化的方法

> 切换到firebase auth极大地简化了该过程。 修订后的实现:

>注册

登录

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);
  });
登录后复制

密钥改进:
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);
  });
登录后复制

简化的设置:
  1. 处理复杂的安全配置。 getAuth()强大的用户管理:
  2. >
  3. >管理电子邮件验证,密码安全,用户创建和会话管理自动。> createUserWithEmailAndPassword() signInWithEmailAndPassword()经验教训
从头开始建造身份验证是一种宝贵的学习体验,但是Firebase Auth提供了一种安全,经过良好测试且节省时间的替代方案。 它与Firestore和内置安全功能的无缝集成对于生产应用程序非常宝贵。 对于准备生产的软件,强烈建议使用诸如Firebase Auth之类的已建立解决方案。

以上是Firebase Auth vs手册Auth:开发人员&#S之旅的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板