public IActionResult Authenticate([FromBody] UserTransferObject userTransferObject)
        {
            var user = _userService.Authenticate(userTransferObject.Username, userTransferObject.Password);

            if (user == null)
            {
                return(BadRequest(new { message = "Username or password is incorrect" }));
            }

            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(_appSettings.Secret);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, user.Id.ToString())
                }),
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token       = tokenHandler.CreateToken(tokenDescriptor);
            var tokenString = tokenHandler.WriteToken(token);

            return(Ok(new
            {
                Id = user.Id,
                Username = user.Username,
                FirstName = user.FirstName,
                LastName = user.LastName,
                //UserEvents = user.UserEvents,//
                Token = tokenString
            }));
        }
        public void Add_NewUser_Returns200OK(string name, string username, string password)
        {
            var expected = new UserTransferObject
            {
                name     = name,
                username = username,
                password = password
            };

            var builder     = new UserControllerBuilder();
            var serviceMock = builder.GetDefaultUserService();

            serviceMock.Setup(r => r.AddUser(It.IsAny <UserTransferObject>()))
            .Returns(ServiceResult <UserTransferObject> .SuccessResult(
                         new UserTransferObject
            {
                name     = name,
                username = username,
                password = password
            }));

            var controller = builder.WithUserService(serviceMock.Object).Build();

            var response = controller.addUsers(expected);

            Assert.IsType <OkObjectResult>(response);
        }
        public IActionResult checkUser([FromBody] UserTransferObject user)
        {
            var userResult = _userService.checkCredentials(user);

            if (userResult.ResponseCode == ResponseCode.Success)
            {
                return(Ok(userResult.Result));
            }
            return(BadRequest(false));
        }
        public IActionResult addUsers([FromBody] UserTransferObject user)
        {
            var userResult = _userService.AddUser(user);

            if (userResult.ResponseCode == ResponseCode.Success)
            {
                return(Ok(userResult.Result));
            }
            return(BadRequest(userResult.Error));
        }
Esempio n. 5
0
        public ServiceResult <bool> checkCredentials(UserTransferObject user)
        {
            var check = _userRepository.All().Where(x => (x.username == user.username) && (x.password == user.password)).FirstOrDefault();

            if (check != null)
            {
                return(ServiceResult <bool> .SuccessResult(true));
            }

            return(ServiceResult <bool> .ErrorResult("Bad Credentials"));
        }
Esempio n. 6
0
        public ServiceResult <UserTransferObject> AddUser(UserTransferObject user)
        {
            var newUser = new User
            {
                name     = user.name,
                username = user.username,
                password = user.password
            };

            _userRepository.Add(newUser);
            _userRepository.saveChanges();

            return(ServiceResult <UserTransferObject> .SuccessResult(user));
        }
        public IActionResult Register([FromBody] UserTransferObject userTransferObject)
        {
            // map dto to entity
            var user = _mapper.Map <User>(userTransferObject);

            try
            {
                // save
                _userService.Create(user, userTransferObject.Password);
                return(Ok());
            }
            catch (AppException ex)
            {
                // return error message if there was an exception
                return(BadRequest(new { message = ex.Message }));
            }
        }