1.当用户登录成功后,签发了一个token,设置了过期时间,假设为2个小时;
2.当用户距离到期时间大于30分钟的时候,用户携带原token访问接口,此时不签发新token,原token依然有效;
3.当用户距离到期时间小于30分钟,但是并没有过期,用户携带原token访问接口,这个时候签发新token,原token失效;
4.当用户token已经过期,直接签发新token。
这里给用户留了半小时的无操作判断,和以前的session有些相似。我想问的是这样还有什么弊端吗?
1.当用户登录成功后,签发了一个token,设置了过期时间,假设为2个小时;
2.当用户距离到期时间大于30分钟的时候,用户携带原token访问接口,此时不签发新token,原token依然有效;
3.当用户距离到期时间小于30分钟,但是并没有过期,用户携带原token访问接口,这个时候签发新token,原token失效;
4.当用户token已经过期,直接签发新token。
这里给用户留了半小时的无操作判断,和以前的session有些相似。我想问的是这样还有什么弊端吗?
1 回答520 阅读✓ 已解决
1 回答851 阅读
用jwt就说明授权无法撤销, 但是可以通过在token中过期时间来取消授权;
第3点中,你是无法让原token失效的, 因为你不知道这个token是否签发过新token,如果用数据库存储就另说了.(这也违背了jwt设计吧?);
第4点,过期的token,不能直接签发新token,必须要正确的授权再签发,(这里可能是你的笔误,表达重新授权签发之意?)
session存server, jwt token存client, jwt无法主动撤销授权.
要说弊端,就是第三点的多授权token问题? 好像也不是什么大问题...