有没有感觉现在的 JWT 都被滥用了。

发布于 2021-05-01 14:04:18

JWT 本身只适合于无状态的场景,结果现在越来越多的人要用 JWT,然后还要求能吊销 token,这样不是服务端要保存相关信息吗?那还不如直接用 cookie+session,前端端分离项目没法用的话,完全可以自己造轮子,随机生成一个 UUID 作为 token,会话保存在 redis 中。

查看更多

关注者
0
被浏览
581
2 个回答
yejinmo
yejinmo 2021-05-01
这家伙很懒,什么也没写!

验证 JWT 时间戳,如过期直接失败,可以减少一次查 session 的操作

acmore
acmore 2021-05-01
这家伙很懒,什么也没写!

除了 “无状态” 更适合讲故事之外,把 “状态” 保存在 Token 里比保存在 Redis / Memory 里要简单很多,这属于实现上的考量。而且就本质来说 JWT 没有对 “状态” 这件事任何规定和限制,其本身只是一种数据格式而已,所以在实现上甚至可以把 Session ID 放在 JWT 里,把 JWT 当 Cookie 用,这都是很正常的场景,不能算是滥用。

不过要求 Revoke Token 的话显然就又完全地回到 “有状态” 的场景中了,相当于要把 “有状态” 的东西重新发明一遍,只能说折腾万岁了。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览