如何解决在节点admin sdk中对Firebase idTokens进行身份验证后,是否应该将其缓存一段时间?
我正在构建一个应用程序,除了Firebase之外,我还需要使用自己的后端。我也需要在后端验证登录用户的身份。因此,我发现this tutorial是这样做的。我基于docs发送一个idToken并在我节点的admin sdk中验证此标头。我认为我可以在第一次验证后用redis或js映射缓存此令牌10分钟或与用户会话所需的时间一样多,以加快处理速度,而不是在10分钟内验证每个请求。我可能还会将令牌存储在手机中一段时间?
我的问题是,这将带来什么安全后果?谢谢。
为澄清我没有使用自定义令牌,我将使用内置的Firebase身份验证。
解决方法
一些Firebase后端服务会保留少量近期ID令牌及其解码结果的缓存。因此,如果他们收到完全相同的令牌,则将使用已经解码的结果。这是无风险的操作,因为解码操作是幂等的:相同的输入将始终提供相同的输出。
,惯例是每次请求都将ID令牌发送到您的后端。如该文档所示,使用Admin SDK verify the token并不昂贵。它不花任何钱。
通常,您应该使用侦听器来检测ID令牌何时更改(它将每小时自动刷新一次),并继续使用该令牌,直到SDK向您的回调传递新令牌为止。在Web客户端中,您应该使用onIdTokenChanged来注册一个回调,以获取对该令牌的更改。无需保留或缓存此令牌-只需使用最新提供的回调即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。