自动令牌失效

时间:2019-10-22 15:48:12

标签: jwt okta

我有一种使用JWT声明授权用户角色的方案。 但是,当管理员撤消用户角色时,如何使JWT令牌无效 并提示用户再次登录?

1 个答案:

答案 0 :(得分:2)

这里的一种方法是维护已撤销JWT令牌的黑名单缓存。如果用户的访问权需要在其令牌中的exp声明尚未到期的时刻被撤销,则管理员将其JWT添加到缓存中。这也意味着授权和/或认证过程的一部分现在将涉及访问此黑名单缓存,以确保尚未撤消任何传入的JWT。但是,如果结构合理,则命中高速缓存的代价将很小(大约是命中数据库的1/100)。

此黑名单缓存还可以用于存储已使用有效令牌注销的用户的JWT。同样,在这种情况下,用户已经逻辑注销,但是其令牌中的exp声明仍然表明JWT仍然有效。将JWT添加到同一黑名单缓存中也是处理此用例的一种方法。