当前位置: 首页 > 知识库问答 >
问题:

吊销无过期的JWT

狄安歌
2023-03-14

当他们注销时,问题就出现了。我读过,最好的方法是在Redis上将JWT列入黑名单,以存储被撤销的密钥。然而,由于JWT永远不会过期,因此该记录永远无法从Redis中删除,并且可以开始分块我的大量内存

我应该担心这一点,还是Redis在这方面的记忆效率高?有没有更好的方法撤销JWT而不过期?

共有1个答案

戴浩初
2023-03-14

JWT令牌是一个自包含的令牌。那就意味着它自己活着,直到到期,不能撤销。因此根据定义它必须过期。因为当它落入坏人之手时,它将允许访问您的资源,而不能撤销它。因此,是的,您应该担心这个实现。

这里的问题是您信任刷新令牌本身,因为它是一个JWT。您实际上应该信任服务器。不是因为JWT不可信,而是因为刷新令牌不必是JWT。

将刷新令牌保存在内存中,包括过期时间。您可以从内存中删除过期的令牌。这意味着只有内存中存在的令牌才能用于请求新的访问令牌。为了安全起见,只能使用一次性刷新令牌。

    null
 类似资料:
  • 我试图使用Github桌面和git shell从Github进行克隆,但不断出现以下错误: 拉取现有存储库时也会出现同样的问题。 我已经尝试上载在

  • 如果这种理解是正确的,那么我希望x509Chain对象能够通过吊销检查,即使检查是在上面文件的2014年3/1/之后的最新吊销列表存在的情况下进行的。不幸的是,结果是验证失败,因为它认为证书已被吊销。 在这种情况下,我是否必须做进一步的测试以查看撤销日期并覆盖结果并忽略它?我是不是做了什么蠢事?我是不是误会了撤销?

  • 提前谢谢你

  • 2016年,我在我的谷歌开发者控制台账户上创建了一个应用 这是因为访问令牌或刷新令牌在2016年后的今天过期了吗?我应该尝试从google开发者控制台重置客户端密码吗? 编辑——下面是我正在使用的代码

  • 问题内容: 我目前正在使用SSL编写网络TCP服务器。在生产中,我们最终将要求客户使用证书进行身份验证。 为了在紧急情况下吊销证书,我们还想建立一个CRL。 我的问题是:Java是否开箱即用地检查CRL(如果提供了证书),还是需要手动实施此类检查? 为了进行测试,我准备了带有CRL设置的证书,但是Java似乎没有尝试对其进行验证(我将其放入本地Web服务器中并且无法访问)。 我仅找到 _com.s

  • 问题内容: 我们的应用程序在30分钟后注销并重定向到登录页面,我在web.xml中指定会话超时,并使用requestProcessor进行重定向。我想向用户显示一条消息,指出会话过期后会话已过期,如何我可以这样做吗?自动注销?我想在“会话超时,请重新登录”页面上提示错误消息。那我怎么能检测到会话超时呢?有什么方法会自动触发吗? 问题答案: 创建一个活动检查器,该检查器每分钟检查是否发生了任何用户活