python - 我是否必须验证每个请求的 JWT token ?

标签 python firebase firebase-authentication jwt firebase-admin

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

我们正在使用 Firebase Auth ( https://firebase.google.com/docs/auth/admin/verify-id-tokens );我可以轻松验证客户端 SDK 上生成的 JWT token 的完整性,但是,我遇到了一个小问题。

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

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

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

谢谢!

最佳答案

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

除此之外,只要该 token 未过期,缓存 token 的 exp 或任何其他解码信息就没有问题。事实上,这是一个相当标准的空间与时间的权衡。请记住,您将为每个 token 使用内存,因此当您获得更多并发用户时,内存会增加。

关于python - 我是否必须验证每个请求的 JWT token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60386107/

相关文章:

python - Django 信号与覆盖保存方法

python - 一种从字典 python 中查找嵌套值的方法

javascript - 如何访问 Backbone Fetch 数据服务器端

android - 无法从 https ://settings. crashlytics.com/spi/v2/platforms/android/apps/检索设置

android - 区分 iOS 和 Android Firebase 身份验证用户

swift - iOS : Firebase phone Authenication

javascript - 何时为 API 请求刷新过期的 Firebase3(Web) token

python - 如何使用 JupyterLab 循环更新交互式图形

firebase - 在 Firebase Analytics 中查看事件的设备模型

ios - 如何编辑由 Firebase 动态链接自动生成的 apple-app-site-association 文件?