public Token Signin(LoginRequest loginRequest)
        {
            var password = CryptoTools.ComputeHashMd5(loginRequest.Password);
            var user     = _userService.Get(loginRequest.Username);

            if (user == null)
            {
                return(null);
            }

            if (user.Password == password)
            {
                //criado um token específico para ficar mais simples e performático
                //o mesmo será utilizado na validação das requisições
                var token = new Token
                {
                    Id       = user.Id,
                    Username = user.Username,
                    Password = user.Password
                };

                return(token);
            }

            return(null);
        }
Exemplo n.º 2
0
        public async Task <Token> LoginAsync(LoginRequest loginRequest)
        {
            var result = await GetAllAsync(x => x.Login.ToUpper() == loginRequest.Login.ToUpper());

            var user = result.FirstOrDefault();

            if (user == null)
            {
                return(null);
            }

            var password = CryptoTools.ComputeHashMd5(loginRequest.Password);

            if (user.Password != password)
            {
                return(null);
            }

            var token = new Token
            {
                UserId     = user.Id,
                UserName   = user.Name,
                Login      = user.Login,
                ExpirateAt = DateTime.Now.AddHours(12)
            };

            return(token);
        }
Exemplo n.º 3
0
        public void ChangePassword(ChangePasswordRequest changePasswordRequest)
        {
            var oldPassword = CryptoTools.ComputeHashMd5(changePasswordRequest.OldPassword);
            var user        = GetAll(x =>
                                     x.Login.ToUpper() == changePasswordRequest.Login.ToUpper() &&
                                     x.Password == oldPassword).FirstOrDefault();

            if (user == null)
            {
                throw new ValidatorException("Old Password is invalid!");
            }

            user.Password = CryptoTools.ComputeHashMd5(changePasswordRequest.NewPassword);

            base.Update(user);
        }
        public Token Signup(User user)
        {
            user.Password = CryptoTools.ComputeHashMd5(user.Password);
            _userService.Save(user);

            if (user.Id > 0)
            {
                var token = new Token
                {
                    Id       = user.Id,
                    Username = user.Username,
                    Password = user.Password
                };

                return(token);
            }
            return(null);
        }
Exemplo n.º 5
0
        public void TestSignin()
        {
            var user = new User();

            user.Name     = "Fake Name";
            user.Password = CryptoTools.ComputeHashMd5("blablabla");
            user.Username = "******";

            repository.Insert(user);
            repository.Save();

            var loginRequest = new LoginRequest();

            loginRequest.Username = "******";
            loginRequest.Password = "******";

            Token token = authService.Signin(loginRequest);

            Assert.True(token != null, "Signin implemented!");
        }
Exemplo n.º 6
0
        public void TestSave()
        {
            var user = new User();

            user.Name     = "Fake Name Product";
            user.Password = CryptoTools.ComputeHashMd5("blablablaProduct");
            user.Username = "******";
            userService.Save(user);

            var product1 = new Product();

            product1.Name  = "Fake Product 1";
            product1.Price = 100;
            productService.Save(product1);

            var product2 = new Product();

            product2.Name  = "Fake Product 2";
            product2.Price = 200;
            productService.Save(product2);

            var idsProduct = new List <long> {
                product1.Id, product2.Id
            };

            var orderRequest = new OrderRequest();

            orderRequest.IdsProducts = idsProduct;
            orderRequest.IdUser      = user.Id;

            orderService.Save(orderRequest);

            Order order = repository.GetAll(true).FirstOrDefault();

            Assert.True(order != null && order.Items.Count() == 2 && order.User.Id == user.Id, "Save Order Ok!");
        }
Exemplo n.º 7
0
 public override void Insert(User entity, string user = "******")
 {
     entity.Password = CryptoTools.ComputeHashMd5(entity.Password);
     base.Insert(entity, user);
 }