【发布时间】:2021-11-22 16:27:17
【问题描述】:
我有一个身份服务器 4. 当我尝试锁定用户时,该用户仍然可以访问 API,因为 JWT 令牌似乎仍然有效。 我该怎么办?
【问题讨论】:
-
你可以考虑使用reference tokens而不是普通的访问令牌
标签: identityserver4
我有一个身份服务器 4. 当我尝试锁定用户时,该用户仍然可以访问 API,因为 JWT 令牌似乎仍然有效。 我该怎么办?
【问题讨论】:
标签: identityserver4
一旦发出 JWT,它就会一直有效,直到它自然过期(令牌中的exp 声明)。
要在到期前使其失效,您需要撤销它。这种方法类似于 X.509 证书吊销。身份提供者必须跟踪已撤销令牌的列表。该撤销列表(最好是已撤销令牌的安全哈希)可以是:
更简单且推荐的解决方案是限制 JWT 的有效期(例如,10 分钟),并使用刷新令牌(在仅 HTTP 的 cookie 中)在 JWT 过期之前刷新它。
【讨论】:
最好的办法是使用短期访问令牌并使用刷新令牌来更新访问令牌。在接收每个请求的访问令牌的 API 中进行查找将是非常昂贵的性能明智。所以
所以,关键在于您愿意做出哪些取舍。
【讨论】: