如何使用 Firebase Admin SDK 和 Express 与 TypeScript 在后端处理身份验证?

问题描述 投票:0回答:1

我正在为应用程序的后端实现登录逻辑,该逻辑使用 Express 和 TypeScript 构建,并利用 Firebase Admin SDK。然而,在探索

auth
实例提供的方法并多次浏览文档之后,我注意到用户身份验证似乎主要通过标准 Firebase SDK 在客户端进行。

这让我对最好的方法感到困惑:

  • 我是否应该在后端安装常规 Firebase SDK 来处理身份验证,正如我在一些文章中看到的那样?
  • 或者应该由前端完全处理身份验证,而后端则专注于使用 Firebase Admin SDK 验证从客户端收到的
    idToken

我不确定选择哪个选项,特别是关于哪种方法更安全并且符合身份验证最佳实践。

node.js typescript firebase express firebase-authentication
1个回答
0
投票

用户身份验证似乎主要通过标准 Firebase SDK 在客户端进行。

是的,这就是它的工作原理。

我是否应该在后端安装常规 Firebase SDK 来处理身份验证,正如我在一些文章中看到的那样?

不,那根本行不通。

或者应该由前端完全处理身份验证,而后端则专注于使用 Firebase Admin SDK 验证从客户端收到的 idToken?

是的,再说一次,这就是它的工作原理。 这种情况在文档中有具体解释:

如果您的 Firebase 客户端应用与自定义后端服务器通信,您可能需要识别该服务器上当前登录的用户。为了安全地执行此操作,请在成功登录后使用 HTTPS 将用户的 ID 令牌发送到您的服务器。然后,在服务器上验证 ID 令牌的完整性和真实性并从中检索 uid。您可以使用以这种方式传输的 uid 来安全地识别服务器上当前登录的用户。

© www.soinside.com 2019 - 2024. All rights reserved.