Exemple #1
0
        private static string GeneratePasswordHash(User user, IBubelSoftUserPassword bubelSoftUserPassword)
        {
            var userLogInInfo = new UserLogInInfo
            {
                Email    = user.Email,
                Password = "******"
            };

            return(bubelSoftUserPassword.Hash(userLogInInfo));
        }
        public void Verify_ReturnTrue_WhenPasswordsAreMatched()
        {
            var userLogin = new UserLogInInfo
            {
                Email    = "*****@*****.**",
                Password = "******"
            };
            var bubelSoftUserPassword = new BubelSoftUserPassword();

            var result = bubelSoftUserPassword.Verify(userLogin, bubelSoftUserPassword.Hash(userLogin));

            Assert.That(result, Is.True, "Password should match");
        }
Exemple #3
0
        public IActionResult LogIn([FromBody] UserLogInInfo userLogin)
        {
            var(user, passwordHash) = _userRepository.GetForLogIn(userLogin.Email);

            if (user == null)
            {
                return(BadRequest("User not found"));
            }

            if (!_bubelSoftUserPassword.Verify(userLogin, passwordHash))
            {
                return(BadRequest("Password is invalid"));
            }

            return(Ok(_bubelSoftJwtToken.CreateFor(user)));
        }
        public void Verify_ReturnTrue_WhenPasswordsAreNotMatched()
        {
            var userLogin = new UserLogInInfo
            {
                Email    = "*****@*****.**",
                Password = "******"
            };
            var bubelSoftUserPassword = new BubelSoftUserPassword();
            var passwordHash          = bubelSoftUserPassword.Hash(userLogin);

            userLogin.Password = "******";

            var result = bubelSoftUserPassword.Verify(userLogin, passwordHash);

            Assert.That(result, Is.False, "Password should not match");
        }
        private UserLogInInfo StubLogInRepository(User user, bool goodPassword)
        {
            const string passwordHash = "passwordHash";

            _userRepository.GetForLogIn(user.Email).Returns((user, passwordHash));

            var userLogInInfo = new UserLogInInfo
            {
                Email    = user.Email,
                Password = passwordHash
            };

            _bubelSoftPassword.Verify(Arg.Any <UserLogInInfo>(), Arg.Any <string>()).Returns(goodPassword);

            return(userLogInInfo);
        }
Exemple #6
0
        public IActionResult Register([FromBody] UserLogInInfo userInfo)
        {
            //var newId = 0;
            //var userId = new UserId(0);
            //var user = _userRepository.Get(userId);
            //if (user == null)
            //    return BadRequest();

            //var passwordHasher = new PasswordHasher<UserLogInInfo>();
            //var userLogInInfo = new UserLogInInfo
            //{
            //    Email = userInfo.Email,
            //    Password = userInfo.Password,
            //    Id = newId
            //};
            //var passwordHash = passwordHasher.HashPassword(userLogInInfo, userLogInInfo.Password);

            //var userDomain = new User(
            //    userInfo.Email,
            //    "userInfo.FirstName",
            //    "userInfo.LastName",
            //    UserCompanyRole.Admin,
            //    "userInfo.Email",
            //    "userInfo.PhoneNumber");

            //userDomain.From(user.CompanyId);
            //userDomain.SetId(userId);

            //foreach (var userRole in user.UserRoles)
            //{
            //    userDomain.AddRole(userRole.BuildingId, userRole.UserBuildingRole);
            //}
            //_userRepository.Save(userDomain, passwordHash);

            return(Ok());
        }