1
ddefewfewf 2020-09-22 15:49:58 +08:00
留着也没用啊
|
2
Molita 2020-09-22 15:51:23 +08:00
不删留着干啥嘞
就是 post session 和 delete session 嘛 |
3
DavidNineRoc 2020-09-22 15:51:48 +08:00 1
jwt 好就好在不用存储数据库
坏就坏在不用存储数据库 正常情况下 jwt 不用处理登出, 如果非要做. 参考黑名单的实现. ## 登出的做法就是, 客户端把本地的 token 删除, 这样子就不存在这个 token, 服务端也不关心这个. 就证明这个 token 没来过 |
4
yamedie 2020-09-22 15:51:50 +08:00
服务端有主动吊销 token 需求时, 才这样做
https://www.v2ex.com/t/590337 |
5
coolair OP @DavidNineRoc 我也是这么想的,但是领导说这样不安全,真是尴尬。
|
6
wysnylc 2020-09-22 15:54:20 +08:00
@DavidNineRoc #3 对的,jwt 只做认证不做业务,导致无法直接指定 jwt 失效只能拉黑某个 jwt 或者拉黑用户
如果有在线状态维护还是把 token 存 mongdb 或者 redis 吧 |
7
Kr98 2020-09-22 15:58:42 +08:00 via Android
jwt 无状态,session 有状态。用 jwt 又要做成有状态,说明没想清楚到底想要什么。
|
8
czzt1 2020-09-22 16:14:45 +08:00
你这么描述就说明你没理解 jwt 是啥,再去读读文档,想想 jwt 和传统 token 的区别
|
9
DavidNineRoc 2020-09-22 16:23:51 +08:00
|
10
sytnishizuiai 2020-09-22 16:26:56 +08:00
我登录的 token 不存,登出存 redis+销毁时间。
最近想解决,用户修改密码或者手机号,老的 token 失效的问题,不知道有什么有效的方法。 |
11
limuyan44 2020-09-22 16:27:17 +08:00
都拿 db 存了为啥用 jwt 呢有啥优势吗,不如我们使用 jwt 存一个叫 jsessionid 的东西,然后存 redis jessionid:userinfo,这样是不是显得厉害多了,你看不仅能踢用户还能控制过期时间。
|
12
yimity 2020-09-22 16:28:26 +08:00
jwt 只是一个认证方式, 完了生成一段字符串。
你想怎么用就怎么用。 当成 token 也行,当成 session 也行。 所以不要局限自己。token 或者 session 不都是随机字符串么。 |
13
baiyi 2020-09-22 16:31:43 +08:00
如果有服务端管理的需求,那就别用 JWT 了,session 就挺好的,有很多现成的解决方案
|