api - JWT 似乎不是 REST API 的安全解决方案
问题描述
我正在开发一个 REST API,但 JWT 对我来说看起来不对。我们都称它们为“无状态令牌”,但实际上它们带来了很多问题。
我们都说,它们不应该存储在数据库或内存缓存解决方案中。但是对我来说,该 API 有 3 个核心条件,请告诉我如何在不访问/存储在数据库中的情况下实现它们。
- 当用户更改密码时,令牌应立即失效。
- 当用户注销时,令牌应立即失效。
- 该架构应该可以轻松地水平扩展。我不想惹麻烦。
如果我们在每个请求中针对这些条件进行数据库/缓存查找,JWT 是一个完全没用的解决方案,不是吗?
解决方案
我不相信 JWT 允许像您正在寻找的那样强制到期。您希望使用的更多是参考令牌,可以在此处找到https://identityserver4.readthedocs.io/en/latest/topics/reference_tokens.html?highlight=reference。
话虽如此,JWT 仍然非常有用。然而,它们最好在非常短的到期日内实施。
推荐阅读
- c# - 有官方的 Tree C# 实现吗?
- powerbi - Power bi 中随时间推移的销售可视化
- javascript - 自定义访客中间件在 Nuxt 项目中未按预期工作
- spring-security - Thymeleaf 安全性:只有在授权且用户与文章作者不同时才能编辑内容
- amazon-elasticsearch - 如何使用 Amazon Elasticsearch 上传 html 文档
- reactjs - 安装反应项目时流浏览器中的错误
- c# - 在实体框架中订购包含实体的最佳方式?
- javascript - 如何使用 JavaScript 遍历 XML 文件并在 HTML 网页中显示数据?
- kubernetes - 本地 PersistentVolumeClaim 说“没有匹配的卷插件”
- flutter - 为什么不能通过 Align 小部件对齐?