创建永不过期的 firebase 身份验证令牌

Create firebase auth token which never expires

我们正在生成自定义 Firebase 身份验证令牌。不幸的是,此类令牌的最长生命周期为一小时:https://firebase.google.com/docs/auth/admin/create-custom-tokens?hl=en#letting_the_admin_sdk_discover_a_service_account

我们正在生成这些令牌以充当 Web 服务的承载身份验证 api。在这种情况下,让令牌过期是不合适的。这样做会使客户损失收入的风险非常高。即使你要让它们过期,一个小时对于过期来说也短得可笑。因此,我们需要不会过期的 jwt 令牌。有谁知道如何使用 firebase 身份验证系统执行此操作?

根据评论:

正如@Dharmaraj 所说,admin SDK 中的自定义身份验证令牌用于立即登录用户并在一小时后过期。您不能增加到期时间。 Firebase 负责使用来自其服务器的令牌刷新 sign-in 状态。

但鉴于您需要此网络服务 API 并且您不需要用户登录,您有两个选择:

  1. 寻找一种方法让客户端使用自定义令牌登录,然后使用 firebase 可调用函数发出请求(您可以从 context.auth 中识别 signed-in 用户).此外,您不需要设置授权 header

  2. 在没有 Firebase 的情况下使用您自己的 JWT 令牌。 Firebase 自定义令牌适用于客户端,不适用于管理 SDK。

Firebase 是一项后端服务,不能做所有事情。它支持无服务器架构,而不是根据需要创建 well-customized API。