是否可以创建端点来手动刷新JWT?

时间:2015-09-22 21:56:03

标签: api security jwt

在应用程序中,我们在JWT有效负载中保留了一些微不足道的布尔值。

在某些UI操作上,布尔值在服务器上发生变化,应用程序需要获取新的令牌以反映此更改。 要获得新的令牌,浏览器可以命中一个端点,该端点将检查并验证其当前令牌,然后返回一个新的访问令牌。要明确的是,用户必须拥有有效的访问令牌才能从端点获取新的访问令牌。

这是安全问题还是可以的?

2 个答案:

答案 0 :(得分:1)

如果您的应用程序首先发出令牌,那么也可以让它更新令牌。我不认为这种情况有特定的安全问题。如果其他机构颁发了令牌,则您的应用程序无法续订,因为它无法访问数字签名的签名密钥。

在安全令牌中保留UI相关信息是否是一个好主意是另一回事。这些值可能更好地存储在会话信息或客户端存储中。

答案 1 :(得分:0)

我得到了什么-

是否可以在给定用户访问令牌的情况下让端点刷新令牌?

上述答案-

是的,这非常好,正如McdD解释的那样,如果同一个应用程序已经生成了访问令牌,那么完全相同的应用程序刷新它就可以了。

实际上,访问令牌的到期时间越短越好(根据JWT的工作原理,大多数应用程序将其保留在几分钟到几小时内),并在访问令牌到期后刷新令牌(这是为了防止滥用访问令牌。