ホームページ >ウェブフロントエンド >jsチュートリアル >Firebase Auth vs Manual Auth:開発者の旅

Firebase Auth vs Manual Auth:開発者の旅

Susan Sarandon
Susan Sarandonオリジナル
2025-01-28 06:34:11740ブラウズ

Firebase Auth vs Manual Auth: A Developer

新しいeコマースプラットフォームを開発し、StockXとeBayの機能をブレンドし、急な学習曲線を提示しました。 私の最初の主要なプロジェクトは、最初に認証を含む完全にカスタム構築されたソリューションを目指していました。しかし、この決定は、手動認証に対するFirebase Authの重要な利点を強調しました。

手動認証:最初の試行

私の最初のアプローチには、データストレージ用のFirebaseとともに、手動認証システムが含まれていました。プロセスは次のとおりでした:

  1. サインアップ:ユーザーデータを収集し、JWT(JSON Webトークン)を生成し、ユーザーの詳細をFireBaseに保存します。
  2. ログイン:
  3. Firebaseデータベースに対する資格情報を確認し、JWTを使用して認証し、ホームページにリダイレクトします。 以下に示すこの最初の実装は、簡単に思えました:

障害物
<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>

FireBaseからユーザーデータを取得すると問題が発生しました。 ユーザーオブジェクトは一貫して返されました。 デバッグの時間は、私の手動アプローチの限界を明らかにしました。 Firebase Authは、はるかにエレガントなソリューションを提供しました

Firebase Authソリューション:合理化されたアプローチnull

Firebase Authに切り替えると、プロセスが劇的に簡素化されました。 改訂された実装: サインアップ

login

<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>

重要な改善:

<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>

簡略化されたセットアップ:

    複雑なセキュリティ構成を処理します。
  1. 堅牢なユーザー管理:getAuth()
  2. および 学んだ教訓createUserWithEmailAndPassword()ゼロからの認証の構築は貴重な学習体験ですが、Firebase Authは安全で、テストされた、時間を節約する代替品を提供します。 Firestoreと組み込みのセキュリティ機能とのシームレスな統合は、生産アプリケーションに非常に貴重です。 生産対応ソフトウェアの場合、Firebase Authのような確立されたソリューションを活用することを強くお勧めします。

以上がFirebase Auth vs Manual Auth:開発者の旅の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。