如何在 spring 启动时手动使 JWT 令牌过期?
How to expire a JWT token manually in spring boot?
让我们考虑一种特殊情况,即管理员(管理员 A)登录并开始在系统上执行一些管理操作。突然另一个管理员(超级管理员)出于某种原因想要将管理员 A 降级为普通用户。然而,即使现在 Admin A 只是一个普通用户,他的令牌仍然是 Admin 令牌。因此,在令牌在一小时后自动过期之前,他仍然可以执行管理操作。
那么,在这种情况下,手动使该令牌过期的方法是什么?系统是否应该使用数据库查询来检查每个管理路由的用户级别?或者还有其他方法可以实现吗?
有什么方法可以配置核心网关来检查令牌的有效性吗?
我认为如果我在 coregateway 中检查每个请求的令牌验证,我们会有很多开销,并且在我看来会破坏使用 JWT 的全部目的。
我要使用 JWT,它不是为会话或数据的状态表示而设计的。
因此,要么接受这个,要么用“allow/white 列表”做一些混乱的破解。
选项 2.
使用会话。
让我们考虑一种特殊情况,即管理员(管理员 A)登录并开始在系统上执行一些管理操作。突然另一个管理员(超级管理员)出于某种原因想要将管理员 A 降级为普通用户。然而,即使现在 Admin A 只是一个普通用户,他的令牌仍然是 Admin 令牌。因此,在令牌在一小时后自动过期之前,他仍然可以执行管理操作。
那么,在这种情况下,手动使该令牌过期的方法是什么?系统是否应该使用数据库查询来检查每个管理路由的用户级别?或者还有其他方法可以实现吗?
有什么方法可以配置核心网关来检查令牌的有效性吗?
我认为如果我在 coregateway 中检查每个请求的令牌验证,我们会有很多开销,并且在我看来会破坏使用 JWT 的全部目的。
我要使用 JWT,它不是为会话或数据的状态表示而设计的。
因此,要么接受这个,要么用“allow/white 列表”做一些混乱的破解。
选项 2.
使用会话。