public async Task <TokenResponse> RunAsync(UserInfoRequest request) { var user = await _userAuthRepository.ValidateCredentials(request); if (user == null) { return(null); } var clains = new List <Claim> { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim(JwtRegisteredClaimNames.UniqueName, user.UserName) }; var accessToken = await _tokenGenerate.GenerateAccessToken(clains); var refreshToken = await _tokenGenerate.GenerateRefreshToken(); user.RefreshToken = refreshToken; user.AcessToken = accessToken; user.RefreshTokenExpire = DateTime.Now.AddDays(Convert.ToDouble(_configuration.GetSection("TokenExtensions:DaysToExpiry").Value)); await _userAuthRepository.RefresUserInfo(user); var createDate = DateTime.Now; var expireDate = createDate.AddMinutes(Convert.ToDouble(_configuration.GetSection("TokenExtensions:Minutes").Value)); return(new TokenResponse { Authenticated = true, AccessToken = accessToken, Created = createDate.ToString(DATE_FORMATE), Expiration = expireDate.ToString(), RefreshToken = refreshToken }); }