Beispiel #1
0
        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 }));
        }
Beispiel #3
0
        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));
        }
Beispiel #6
0
        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));
        }