在UserService的loginForDts方法处理token中,用户重新登录应该删除老的token,但是不能把刚生成的refreshToken当作条件,不然怎么都删不了老的那一条token记录,导致单个user拥有多个token 应该根据userId删除token
final String accessToken = TokenUtil.generateToken(userId);
final String refreshToken = TokenUtil.generateRefreshToken(userId);
//保存refresh token到数据库
this.userDao.deleteRefreshToken(refreshToken, userId);
this.userDao.addRefreshToken(refreshToken, userId, new Date());
另外还有一个提问:用户退出这一功能,我看老师的操作仅仅是把refreshToken从db中删除,那accessToken只要没过期 token不是依然有效吗?只是无法通过refreshToken请求到新的accessToken而已。同时退出的话也只要userId就足够了吧?根据id删除token即可