【问题标题】:Firebase Auth with admin sdk?使用管理员 SDK 进行 Firebase 身份验证?
【发布时间】:2021-06-21 22:30:38
【问题描述】:

我正在使用 firebase firestore 作为基于 Web 的应用程序的数据存储。该应用程序有 2 个不同的参与者。

主管:通过为所有主管设置的通用密码以及生成唯一代码的能力登录。

用户:通过主管生成的唯一代码登录。

我正在使用云功能为两位演员完成繁重的工作。现在这些函数受到 cors 和来源白名单的保护。

我正在尝试使用身份验证中间件来保护使用云功能创建的路由,该中间件依赖于请求是否来自经过身份验证的帐户的概念。

我已经为我的应用程序的前端部分的两个参与者创建了一个电子邮件和密码帐户。

问题是,如果我要使用 firebase Auth api 来获取刷新令牌并将其用作中间件中的 jwt,这是否会成为一个问题,因为假设 100 个主管已连接并执行一些任务,以及同样的事情为第二个演员?因为在检查刷新令牌后,它包含经过身份验证的帐户的 uid,并且使用同一帐户进行多个连接是这种情况下的障碍。

【问题讨论】:

  • 我不确定我是否明白你在问什么。您认为令牌中的 UID 有什么问题?
  • 每个操作中要使用的令牌的要点是验证请求的来源,并为每个用户生成一个令牌,从而提供唯一性。对我来说,所有用户都将使用 1 个电子邮件和密码,firebase admin sdk 在中间件中验证该令牌是否会出现问题?

标签: firebase firebase-authentication firebase-admin


【解决方案1】:

在每个操作中使用的令牌的目的是验证请求的来源

Firebase 身份验证使用 ID 令牌来验证用户的身份,而不是请求的来源。您场景中的恶意用户可以从应用获取凭据,并在他们自己的代码中使用它们 - 在您的 Firebase 项目上调用 API。

如果您只想允许来自您自己的应用的呼叫,请考虑使用 Firebase 的新 App Check 功能。

【讨论】:

  • 感谢您指出这个新功能,我会检查它是否符合我的需求。
猜你喜欢
  • 2013-07-10
  • 2011-09-18
  • 2018-12-05
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 2021-09-19
  • 2020-07-25
  • 1970-01-01
相关资源
最近更新 更多