|
|
1
12
你是对的,即使删除了JWT令牌,它在一段时间内仍然有效,直到它过期。JWT是无状态的。因此,如果要处理注销并使令牌无效,则必须保留数据库或内存缓存以存储无效(黑名单)令牌。然后您需要添加一个新的权限来检查令牌是否被列入黑名单。
|
|
|
2
7
JWT是无状态的,这意味着您应该将所需的一切存储在有效负载中,并跳过对每个请求执行DB查询。但是,如果您计划有一个严格的注销功能,即不能等待令牌自动过期,即使您已经从客户端清除了令牌,那么您可能需要忽略无状态逻辑并执行一些查询。那么解决办法是什么呢?
罪恶黑名单所有不再有效且尚未过期的令牌的黑名单。您可以在文档上使用具有TTL选项的DB,该文档将设置为令牌过期前的剩余时间量。 Redis公司黑名单 ,这将允许在内存中快速访问列表。然后,在对每个授权请求运行的某种中间件中,您应该检查所提供的令牌是否在 . 如果是,你应该抛出一个未经授权的错误。如果不是,就让它去,JWT验证将处理它,并确定它是否过期或仍然有效。 有关详细信息,请参阅 How to log out when using JWT |
|
|
3
3
不知道上面这一行是什么意思,但是您不应该担心在您从localstorage和cookie中清除令牌之后,该令牌是否仍然对用户可用,因为无论哪种方式,它都会在到期日之后失效。 |
|
|
Shanxx · 我在哪里存储我的jwt以进行授权? 2 年前 |
|
|
Andre · AWS Lambda自定义JWT验证 2 年前 |
|
|
unuser · JWT得到验证,即使我更改了其中的一个字符[重复] 2 年前 |