Firebase-UI Web 与使用 Web SDK 构建自定义 JS

Firebase-UI Web vs. Building Custom JS using Web SDK

客户端框架:Vuejs 后端数据库:Firebase Firestore 认证系统:Firebase Auth __________________________

我正在构建一个使用 Firebase Auth 的 Vue 应用程序。过去,大多数开发人员创建自定义表单来收集用户信息(姓名、电子邮件、密码、phone # 等),使用 HTML 输入字段收集电子邮件和密码,然后从在客户端,我们可以在一个序列中执行两个重要的操作,为用户提供一个步骤。

  1. 使用 Auth SDK 调用 firebase auth 方法,通过将电子邮件和密码作为参数传递给该方法来创建新用户。
  2. 完成此操作后,我们将获取 Firebase 返回的 UID,然后使用 Firestore SDK 进行下一次调用,使用名称在数据库中创建一个新用户,电子邮件,Phone # 和 UID.

此流程效果很好,它提供了一个流畅的一步用户流程,我们可以提供正确的错误消息和导航。

然后 Firebase 团队提供了 FirebaseUI 来替代我们的自定义表单和序列。 FirebaseUI 有一些与如何“注册”新用户相关的奇怪行为,并且缺乏灵活性和现代的表单输入外观。 根据我的理解,Google 想让我们使用它的主要原因是: A) 它提供了一种更安全的方式来收集电子邮件和密码并将其发送到 Firebase Auth。 B) 它提供了使用多个提供商的简单方法。

我的问题是,当我只使用 email/password 身份验证并通过 HTTPS 传递它时,是否真的像我之前解释的那样构建我们自己的表单而不是使用 Firebase UI 是不安全的?

请澄清,仅构建我自己的自定义表单是否安全,或者 应该 我使用 FirebaseUI?

FirebaseUI 在安全方面并没有真正提供任何特殊的东西。如果您喜欢它的工作方式,请使用它。如果它不能按您想要的方式工作,请分叉 source code 并使其按您想要的方式工作。如果您想要完全不同的东西,请自行实现。

FirebaseUI 的重点不是确保安全。是为了方便您对安全负有最终责任,因此请务必审核您使用的任何代码,以确保它满足您的需求。