生成的JWT是无法撤销的。这个是由什么决定的,是JWT本身的算法决定的吗?还有一个问题是,JWT是如何来校验一个Token是否有效的?同样的header.payload.signature,每次生成的token都不一样,它怎么才能知道某个token是有效的?
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
生成的JWT是无法撤销的,除非是达到了指定的过期时间。这个是由什么决定的?
就是过期时间会写在token
里或者与token
关联。
是JWT的算法决定的吗?
是
还有一个问题是,JWT是如何来校验一个Token是否有效的?
一般会定时清理过期的token
,并且访问的时候也会先查看token
是否过期。
我有注意到同样的数据生成的JWT,在Node进程重启后就会被判定为无效的Token。看起来像是写进了内存一样,但是肯定不可能。
如果没有存到数据库里比如redis/memcached
或者其他,那就只能在内存里。node
进程重启无效说明并没有存到进程外部,所以应该是内存里。
不清楚你需要撤销什么,如果是希望token
都失效,把秘钥改了就行了。
添加回答
举报
0/150
提交
取消