阳光沙滩博客系统-退出登录
# 步骤
拿到cookie里的token_key--> 删除redis里的token-->删除mysql里的refreshToken--清除cookie里的token_key
返回结果(前端根据结果跳转到登录页面)
# 接口
/**
* 退出登录
* <p>
* 拿到token_key
* -> 删除redis里对应的token
* -> 删除mysql里对应的refreshToken
* -> 删除cookie里的token_key
*
* @return
*/
@GetMapping("/logout")
public ResponseResult logout() {
return userService.doLogout();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 实现
@Override
public ResponseResult doLogout() {
//拿到token_key
String tokenKey = CookieUtils.getCookie(getRequest(), Constants.User.COOKIE_TOKE_KEY);
if (TextUtils.isEmpty(tokenKey)) {
return ResponseResult.ACCOUNT_NOT_LOGIN();
}
//刪除redis里的token
redisUtils.del(Constants.User.KEY_TOKEN + tokenKey);
//删除mysql里的refreshToken
refreshTokenDao.deleteAllByTokenKey(tokenKey);
//删除cookie里的token_key
CookieUtils.deleteCookie(getResponse(), Constants.User.COOKIE_TOKE_KEY);
return ResponseResult.SUCCESS("退出登录成功.");
}
``
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
上次更新: 2022/03/28, 23:04:38