繁体   English   中英

我是否必须为每个请求验证 JWT 令牌?

[英]Do I have to verify a JWT token per request?

我们有一个 API,我们有几个客户端应用程序(app、webapp 等)。

我们正在使用 Firebase 身份验证( https://firebase.google.com/docs/auth/admin/verify-id-tokens ); 我很容易验证在我的客户端 SDK 上生成的 JWT 令牌的完整性,但是,我面临一个小问题。

每个请求,我们在 HTTP 标头中传递一个身份验证令牌 / jwt 令牌,以确保每个调用都经过身份验证。 这会产生大量开销,因为每个令牌完整性检查平均需要大约 200-400 毫秒。

我正在考虑将密钥存储在内存中或具有( exp )过期时间的东西,但我不确定这是否是一个很好的解决方案。 我只会用给出的一大串密钥来验证密钥,当密钥到期日期清除时,它就会清除。

我应该如何处理这个问题? 有没有办法绕过时间开销?

谢谢!

时间真的花在验证令牌上了吗? 您可能想看看是否可以准确地看到它的去向,因为解码令牌应该非常快。 但是,如果您每次都检索帐户的公钥,那当然可以解释其中的一部分。

除此之外,只要该令牌没有过期,缓存exp或任何其他解码的令牌信息都没有错。 事实上,这是一个相当标准的空间与时间的权衡。 请记住,您将为那里的每个令牌使用内存,因此随着您获得更多并发用户,这将累加。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM