public async Task <IActionResult> RefreshToken() { var oldToken = Request.Headers["Authorization"].ToString(); // 解析旧Token var claimPrincipal = _jwtFactory.CanRefresh(oldToken?.Replace("Bearer ", string.Empty)); // token刷新失败 if (claimPrincipal == null) { ModelState.AddModelError("Token", ErrorMessages.Account_E007); return(BadRequest(ModelState)); } // 根据token保存的用户名取得用户,更新用户数据 var userName = claimPrincipal.GetUserName(); var user = await _accountService.FindUserAsync(userName); var loginResult = await GetLoginResult(user); return(Ok(loginResult)); }