public async Task <ActionResult> Get(int id) { var user = await _userRep.FindEntityAsync <ADUserT>(id); if (user != null) { return(Ok(user)); } return(NotFound(_localizer["N00001"])); }
public async Task <ActionResult> GetToken([FromBody] LoginModel model) { ResultModel resultModel; _logger.LogInformation($"{model.UserName}:{model.Password}"); if (!string.IsNullOrWhiteSpace(model.UserName) && !string.IsNullOrWhiteSpace(model.Password)) { var user = await _userRep.FindEntityAsync <ADUserT>(x => x.LoginName == model.UserName); if (user == null) { resultModel = ResultModel.GetFail("用戶不存在"); return(Ok(resultModel)); } if (PasswordStorage.VerifyPassword(model.Password, user.LoginPwdHash !)) { var refreshToken = Guid.NewGuid().ToString("N"); var refreshTokenExpiredTime = DateTime.Now.AddMinutes(_jwtBearerOption.RefreshExpiration); var cacheKey = $"RefreshToken:{refreshToken}"; var cacheValue = JsonConvert.SerializeObject(user); _cache.SetString(cacheKey, cacheValue, new DistributedCacheEntryOptions { AbsoluteExpiration = refreshTokenExpiredTime }); resultModel = ResultModel.GetSuccess("", new { AccessToken = _jwtTokenValidationService.GenerateToken(user), RefreshTokenExpired = DateTimeHelper.ConvertToLong(refreshTokenExpiredTime), RefreshToken = refreshToken }); return(Ok(resultModel)); } resultModel = ResultModel.GetFail("用戶名或密碼錯誤"); return(Ok(resultModel)); } resultModel = ResultModel.GetFail("用戶名或密碼不能為空"); return(Ok(resultModel)); }