阳光沙滩博客系统-退出登录

# 步骤

拿到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

# 实现

@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
上次更新: 2022/03/28, 23:04:38