jwma/jump-jump

登出接口调用成功,token还可以继续生成短链接

Closed this issue · 2 comments

登出接口/user/logout调用成功了,返回如下内容,token还是可以继续使用,这是什么问题导致的?
{
"msg": "ok",
"code": 0,
"data": null
}

调用方式:POST
调用工具:PostmanRuntime/7.29.0
header: "Authorization": "Bearer token"

jwma commented

如果你去看 logout 接口的源码的话,你会发现它其实并没有任何实际逻辑,所以并没有什么深层次的问题,单纯只是因为后端没有实际做处理而已。

JWT 签发之后,如果不做额外的处理,在有效期内,token 是可以持续生效的,如果要做到登出的 token 不可用,那么后端其实需要记录下该 token,然后在授权验证的中间件加入验证,如果使用的 token 在记录中,就不允许怎样怎样。

再进一步,可以在登出接口解析出 token 的实际过期时间,然后将 token 记录到 redis 并设置过期时间为 token 实际过期时间,这样 token 就会在过期之后被删掉,同时也能阻止使用已登出 token 的情况。

怎么说呢,其实这部分并不是我使用这个工具的时候会考虑的问题,所以当时也没有过多去想。

感谢回复,这边尝试和系统对接,使用完token后进行销毁是个好习惯,这块没有处理我们就忽略logout了,感谢大佬的贡献,谢谢。