Ionic v4 + firestore 身份验证

Ionic v4 + firestore authentication

我正在尝试开发一个小型 ionic v4 混合应用程序。该应用程序应包含登录和身份验证。 Ionic v4提供了angular的完整路由包。所以我想使用这种路由技术和 firestore 为我的应用程序进行登录等身份验证。 我的问题是,我对两者都很陌生,而且我没有找出最佳实践。有人有什么建议或经验吗?那会有很大帮助。

我做了一些研究并尝试了一些东西。这两个链接在我看来是最有用的: 使用 Ionic v3 进行 Firebase 身份验证:https://ionicthemes.com/tutorials/about/firebase-authentication-in-ionic-framework-apps Ionic v4 身份验证:https://devdactic.com/ionic-4-login-angular/

也许这真的很简单,但我不知道如何将它们放在一起以及 firestore 在哪里保存用户...我是否从 firestore 身份验证中获得令牌?

最终目标是拥有一个包含所有用户的 firestore 集合。它包含他们的密码、设置等。

如果用户已登录,他可以通过私人用户特定页面进行路由,如果他没有登录,他应该只能看到 public 内容。

这个问题有点宽泛,它有很多步骤供您在应用程序中启用 firebase 中的身份验证,但为了让您入门,我建议您观看这个系列,了解 Authentication in Firebase 虽然它在 javascript 和 HTML 但主要概念是相同的,

回答您的一些问题。

  1. 您需要先在您的项目中启用身份验证,方法是转到您的 Firebase 控制台的“身份验证”选项卡
  2. 启用后,您可以选择要使用的身份验证类型,在教程中link我提到他们使用了电子邮件和密码
  3. 启用后,您需要在您的应用程序中引用 Firebase,以便您可以在您的应用程序中使用它的功能
  4. 您可以使用 Firebase 提供的正确方法添加用户,将其存储在 Firebase 中,我们使用 firebasereference.createUserWithEmailAndPassword("username","password") 进行电子邮件和密码身份验证,firebase 会自动为您创建一个用户 ID
  5. Firebase 自动处理身份验证过程,我们只需使用 firebasereference.signInWithEmailAndPassword("usename,"password")
  6. 即可登录
  7. Authentication 包含我们可以存储的最少信息,因此您需要将 firestore/realtimedatabase 与 Authentication 结合起来存储用户数据,如 isAdmin、Address 和 Name,通常我们在存储用户文档时使用 Authentication 生成的相同用户 ID在用户的 collection.
  8. Firestore 不存储密码。全部由Google认证处理,事实上你甚至看不到用户输入的密码,因为认证处理了所有这些,你可以删除帐户或重设密码。

请注意,我说的方法提供了一个Promise,所以你应该等待响应来检查firebase返回的值,在javascript中,我们使用.then()来表示接下来的步骤一旦结果回来。

我上面提到的教程几乎可以根据你的问题教给你所有你需要的东西

P.s。我不是 Ionic 开发人员,但 google 告诉我它使用 Javascript 和 HTML 来创建应用程序,所以我认为本教程将为您提供很多信息! .祝你好运!