Firebase 身份验证为自定义令牌设置自定义过期时间

Jam*_*med 5 javascript node.js firebase firebase-authentication firebase-admin

我正在使用 firebase 自定义身份验证来生成自定义令牌,我想知道是否有一种方法可以通过根据会话完成的特定时间缩短令牌来手动更新令牌。例如,如果会话完成大约 20 秒或可能 5 分钟,我可以手动更新令牌的到期时间

如果这不可能,是否还有一种方法可以为令牌设置自定义常量过期时间,例如 1 分钟而不是 1 小时过期时间

Fra*_*len 9

我快速检查了Admin SDK 中的来源createCustomToken,似乎一小时过期时间 ( exp) 是硬编码在那里的。因此,如果您想修改它,则必须创建自己的 Admin SDK 分支。

另一种方法是创建您自己的自定义令牌,如使用第三方 JWT 库创建自定义令牌中所示。这样您就可以将exp声明设置为您想要的值。

第三种选择是使用会话cookie,它允许您设置自己的过期间隔。

我能想到的最后一个选项是在 Admin SDK 上提交功能请求

  • 我想指出的是,选项 1 和 2 不起作用。谷歌后端目前仅接受以秒为单位最多 1 小时的过期时间。当尝试使用铸造的令牌登录时,任何超出此范围的内容都会给您带来 auth/invalid-custom-token 错误。 (6认同)