【发布时间】:2017-07-08 20:57:54
【问题描述】:
我对 JWT 很陌生,我最终继承了一个使用 JWT 的代码库。现在我面临一些非常基本的问题,但我没有找到任何答案。这个问题不是基于代码的,所以请多多包涵。
假设我的 JWT 令牌有效期为 4 小时。这是我的要求/限制
如果用户工作时间为 3 小时 59 分钟。他们的会话应延长 2 小时,并且不应要求他们重新输入凭据。
客户端 java 脚本不得以任何方式缓存用户凭据。
可以用新的令牌刷新 JWT 令牌...但您不能对服务器上的每个请求都执行此操作。因此,客户端必须在适当的时候智能地刷新 JWT 令牌。您不得尝试在您向应用程序发出的每个请求上发布新令牌,因为我们最终会遇到这样一种情况,即我们在会话过程中生成了 1000 个活动令牌并且所有这些令牌都处于活动状态。这使得登出要求更加困难。
一旦用户点击退出。 JWT 令牌应该不再可用。即使它的生命周期仍然有效。
如果发生注销。所有发出的令牌(作为会话扩展的一部分)都应该失效。不只是最后一个。
我开始阅读有关 JWT 的信息,但 JWT 似乎无法满足我的要求。使用 session id 方法很容易满足这些要求。但我还不想放弃 JWT。
【问题讨论】:
标签: authentication jwt refresh