예제 #1
0
        public async Task <IActionResult> UpdateUser(InputApplicationUserDTO userDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var user = _userService.GetUserByEmailAsync(userDTO.Email);
            await _userService.UpdateUserAsync(_mapper.Map <ApplicationUser>(userDTO));

            return(Ok(_mapper.Map <OutputApplicationUserDTO>(user)));
        }
예제 #2
0
        public async Task <IActionResult> Login([FromBody] InputApplicationUserDTO userDTO)
        {
            var result = await _signInManager.PasswordSignInAsync(userDTO.Email, userDTO.Password, false, false);

            if (result.Succeeded)
            {
                var user = await _userService.GetUserByEmailAsync(userDTO.Email);

                //var user = _userManager.Users.SingleOrDefault(r => r.Email == userDTO.Email);
                return(Ok(await GenerateJwtToken(userDTO.Email, user)));
            }

            return(BadRequest("Wrong UserName or Password"));
            //throw new ApplicationException("INVALID_LOGIN_ATTEMPT");
        }
예제 #3
0
        public async Task <IActionResult> Register([FromBody] InputApplicationUserDTO userDTO)
        {
            var user = _mapper.Map <ApplicationUser>(userDTO);

            user.UserName = user.Email;
            //var user = new ApplicationUser
            //{
            //    UserName = userDTO.Email,
            //    Email = userDTO.Email
            //};
            var result = await _userManager.CreateAsync(user, userDTO.Password);

            //var result = await _userService.CreateUserAsync(user, userDTO.Password);

            if (result.Succeeded)
            {
                await _signInManager.SignInAsync(user, false);

                return(Ok(await GenerateJwtToken(userDTO.Email, user)));
            }
            return(BadRequest("Invalid data"));
            //throw new ApplicationException("UNKNOWN_ERROR");
        }