这是我的场景,我生成了一个 jwt token 并将该 token 存储在 Redis 中,TTL 为 1 小时。 现在我看到大多数教程都使用 jwt.verify 来验证 token ..
我知道他们正在验证 token 是否真实
为什么我需要使用jwt.verify..为什么我不能使用redis.exists来检查 token 是否真实..
大多数人说,我们可以使用jwt,主要特点是不需要使用db来检查用户和过期时间..
但在我的场景中,我无法将所有内容存储在 token 中。因此,我使用 Redis 来存储带有 session 信息的 token 。
问题是 1.所以我不应该在这种情况下使用jwt。 2.我可以跳过jwt.verify吗?
我是 Node 新手..
最佳答案
JWT 可以帮助您快速检索有关调用者的信息,而无需访问数据库(redis 也是一个数据库)。 当使用客户端应用程序/外部服务使用的 JWT 时,您必须始终验证它们,以确保您是生成它们的人并且它们没有被篡改。
JWT 中存储的常见信息包括用户名、真实姓名、组等。在您的场景中,您可以使用 JWT 来存储保存所需信息的 Redis key 。可能你总是会通过 redis 来获取你想要的信息,因此 JWT 不会为你的情况增加很多值(value),但也可能是这样,你可以使用 JWT 编写更智能的代码,这些代码只会命中redis在某些情况下例如。用户是否有此权利,或者我们是否在 Redis 中存储了有关该用户的信息(JWT token 中缺少 Redis key )
您是唯一能够评估您的场景和 JWT 有用性的人,但不要急于忽略它们,因为它们提供了开箱即用的良好性能/安全性改进。
关于javascript - 我需要验证 jwt 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811978/