首页 > 解决方案 > JWT 似乎不是 REST API 的安全解决方案

问题描述

我正在开发一个 REST API,但 JWT 对我来说看起来不对。我们都称它们为“无状态令牌”,但实际上它们带来了很多问题。

我们都说,它们不应该存储在数据库或内存缓存解决方案中。但是对我来说,该 API 有 3 个核心条件,请告诉我如何在不访问/存储在数据库中的情况下实现它们。

  1. 当用户更改密码时,令牌应立即失效。
  2. 当用户注销时,令牌应立即失效。
  3. 该架构应该可以轻松地水平扩展。我不想惹麻烦。

如果我们在每个请求中针对这些条件进行数据库/缓存查找,JWT 是一个完全没用的解决方案,不是吗?

标签: apirestauthenticationjwtauthorization

解决方案


我不相信 JWT 允许像您正在寻找的那样强制到期。您希望使用的更多是参考令牌,可以在此处找到https://identityserver4.readthedocs.io/en/latest/topics/reference_tokens.html?highlight=reference

话虽如此,JWT 仍然非常有用。然而,它们最好在非常短的到期日内实施。


推荐阅读