private HttpWebRequest BuildWebRequest <T>(T parameter, bool json) where T : BaseCommand { parameter.TerminalKey = _termianlKey; parameter.Token = TokenGeneratorHelper.GenerateToken(parameter, _password); var request = WebRequest.CreateHttp(_baseUrl + parameter.CommandName); request.Method = "POST"; request.ContentType = json ? "application/json" : "x-www-form-urlencoded"; var data = JsonConvert.SerializeObject(parameter, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, }); if (!json) { data = UrlEncode(data); } var postBytes = Encoding.UTF8.GetBytes(data); request.ContentLength = postBytes.Length; using (var stream = request.GetRequestStream()) { stream.Write(postBytes, 0, postBytes.Length); } return(request); }
public ActionResult Auth(LoginModel login) { //Usuario valido para pruebas de JWT var user = new Usuario(); user.Id = 213; user.Name = "Danilo"; user.LastName = "Caro Aparicio"; user.Email = "*****@*****.**"; user.Profile = "MV"; var token = TokenGeneratorHelper.CreateToken(user, _config); return(Ok(new { token = token })); }
private HttpRequestMessage BuildRequest <T>(T parameter, bool json) where T : BaseCommand { parameter.TerminalKey = _termianlKey; parameter.Token = TokenGeneratorHelper.GenerateToken(parameter, _password); var request = new HttpRequestMessage(HttpMethod.Post, _baseUrl + parameter.CommandName); var data = JsonConvert.SerializeObject(parameter, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, }); request.Content = json ? (HttpContent) new StringContent(data, Encoding.UTF8, "application/json") : (HttpContent) new FormUrlEncodedContent(JsonConvert.DeserializeObject <Dictionary <string, string> >(data) !); return(request); }
public async Task <ResultWithData <string> > CreateUserAsync(dynamic userFromView) { var resultWithData = new ResultWithData <string>(); try { var appUser = new ApplicationUser { UserName = userFromView.UserName, Email = userFromView.Email, Token = TokenGeneratorHelper.GetToken(), }; var identityResult = await UserManager.CreateAsync(appUser, userFromView.Password); if (!identityResult.Succeeded) { var errors = String.Empty; foreach (var error in identityResult.Errors) { errors += $"{ error }{ Environment.NewLine }"; } throw new Exception(errors); } // Add user profile. appUser.UserProfile = new UserProfile( userFromView.Locale.ToString() ); UserManager.Update(appUser); resultWithData.ResultData = appUser.Token; resultWithData.Success = true; } catch (Exception ex) { resultWithData.Success = false; resultWithData.Message = ex.Message; resultWithData.StackTrace = ex.StackTrace; } return(resultWithData); }
private async Task <E> SendRequestPost <T, E>(T parameter, CancellationToken token) where T : BaseCommand where E : class { parameter.TerminalKey = _termianlKey; parameter.Token = TokenGeneratorHelper.GenerateToken(parameter, _password); var json = JsonConvert.SerializeObject(parameter, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, }); var response = await SendRequestPost(parameter.CommandName, json, token); if (string.IsNullOrEmpty(response)) { return(null); } return(JsonConvert.DeserializeObject <E>(response)); }
public async Task <TokenDto> LoginAsync(LoginAccountDto accountDto, CancellationToken ct = default) { Logger.LogInformation("Login to account {@Account}", accountDto); AccountBase accountBase = await UnitOfWork.AccountRepository.GetUserAsync(accountDto.Email, ct); if (accountBase == null) { Logger.LogInformation("Account with email {Email} doesn't exist", accountDto.Email); throw new AccountNotFoundException(); } if (!accountBase.IsPasswordEqual(accountDto.Password)) { Logger.LogInformation("Password for email {Email} is wrong", accountDto.Email); throw new WrongPasswordException(); } string token = TokenGeneratorHelper.GenerateToken(_configuration, GenerateClaims(accountBase)); return(new TokenDto(token, _configuration.ExpiresInDay)); }
public bool CheckToken(string password) { var generatedToken = TokenGeneratorHelper.GenerateToken(this, password); return(string.Equals(generatedToken, Token)); }