如何使用 Node.js 在 Firebase 中使用电子邮件身份验证

How to use email authentication in Firebase using Node.js

我正在尝试通过电子邮件和密码为我的应用程序使用 Firebase 身份验证服务。 我注意到有两个 SDK,Client 和 Admin,它们都有创建新用户的方法。 我还注意到只有客户端 SDK 有方法来验证用户电子邮件并在创建后 return 新用户的令牌。

这两个 SDK 让我对如何使用这项服务感到困惑,所以我有几个问题:

  1. 我应该在我的服务器中创建“注册”路由并使用 Admin SDK 还是应该使用客户端 SDK?
  2. 如果我使用客户端SDK签名,应该在服务端还是在客户端?
  3. 如何使用 Firebase“电子邮件地址验证”模板验证用户电子邮件?

如果有人能给我一些指导。

Firebase Admin SDK 旨在 运行 在受信任的环境中,例如您的开发机器、您控制的服务器或 Cloud Functions。它们 运行 具有提升的管理权限,基于您在初始化它们时指定的服务帐户。因此,无法使用 Admin SDK 登录用户,即使他们确实(如您所述)能够创建用户帐户。

客户端 Node.js SDK 旨在用于不受信任的环境,例如物联网设置。这个 SDK 确实允许您以特定用户身份登录,然后当您从 Node 应用程序调用其他 Firebase API 时传递此信息。

您应该使用两者中的哪一个取决于您没有描述的用例。如果没有,以上是我们可以提供的最佳指导:如果您的代码 运行s 在受信任的环境中,请使用 Admin SDK;否则使用客户端SDK。