如何使用 Node.js 在 Firebase 中使用电子邮件身份验证
How to use email authentication in Firebase using Node.js
我正在尝试通过电子邮件和密码为我的应用程序使用 Firebase 身份验证服务。
我注意到有两个 SDK,Client 和 Admin,它们都有创建新用户的方法。
我还注意到只有客户端 SDK 有方法来验证用户电子邮件并在创建后 return 新用户的令牌。
这两个 SDK 让我对如何使用这项服务感到困惑,所以我有几个问题:
- 我应该在我的服务器中创建“注册”路由并使用 Admin SDK 还是应该使用客户端 SDK?
- 如果我使用客户端SDK签名,应该在服务端还是在客户端?
- 如何使用 Firebase“电子邮件地址验证”模板验证用户电子邮件?
如果有人能给我一些指导。
Firebase Admin SDK 旨在 运行 在受信任的环境中,例如您的开发机器、您控制的服务器或 Cloud Functions。它们 运行 具有提升的管理权限,基于您在初始化它们时指定的服务帐户。因此,无法使用 Admin SDK 登录用户,即使他们确实(如您所述)能够创建用户帐户。
客户端 Node.js SDK 旨在用于不受信任的环境,例如物联网设置。这个 SDK 确实允许您以特定用户身份登录,然后当您从 Node 应用程序调用其他 Firebase API 时传递此信息。
您应该使用两者中的哪一个取决于您没有描述的用例。如果没有,以上是我们可以提供的最佳指导:如果您的代码 运行s 在受信任的环境中,请使用 Admin SDK;否则使用客户端SDK。
我正在尝试通过电子邮件和密码为我的应用程序使用 Firebase 身份验证服务。 我注意到有两个 SDK,Client 和 Admin,它们都有创建新用户的方法。 我还注意到只有客户端 SDK 有方法来验证用户电子邮件并在创建后 return 新用户的令牌。
这两个 SDK 让我对如何使用这项服务感到困惑,所以我有几个问题:
- 我应该在我的服务器中创建“注册”路由并使用 Admin SDK 还是应该使用客户端 SDK?
- 如果我使用客户端SDK签名,应该在服务端还是在客户端?
- 如何使用 Firebase“电子邮件地址验证”模板验证用户电子邮件?
如果有人能给我一些指导。
Firebase Admin SDK 旨在 运行 在受信任的环境中,例如您的开发机器、您控制的服务器或 Cloud Functions。它们 运行 具有提升的管理权限,基于您在初始化它们时指定的服务帐户。因此,无法使用 Admin SDK 登录用户,即使他们确实(如您所述)能够创建用户帐户。
客户端 Node.js SDK 旨在用于不受信任的环境,例如物联网设置。这个 SDK 确实允许您以特定用户身份登录,然后当您从 Node 应用程序调用其他 Firebase API 时传递此信息。
您应该使用两者中的哪一个取决于您没有描述的用例。如果没有,以上是我们可以提供的最佳指导:如果您的代码 运行s 在受信任的环境中,请使用 Admin SDK;否则使用客户端SDK。