示例#1
0
        public async Task <IActionResult> Authenticate([FromBody] SignUpUserDto userDto)

        {
            User user;

            try
            {
                user = await Task.Run(() => _userService.Authenticate(userDto.Username, userDto.Password));
            }
            catch (UserServiceException ex)
            {
                return(BadRequest(BaseStatusDto.CreateErrorDto(ex.Message)));
            }
            catch (Exception ex)
            {
                return(BadRequest(BaseStatusDto.CreateErrorDto(ex.Message)));
            }

            string tokenString = _userService.GetUserToken(user, _appSettings.Secret);

            SignInUserDto signInUser = _mapper.Map <SignInUserDto>(user);

            signInUser.Token = tokenString;

            signInUser.CreateSuccess();

            return(Ok(signInUser));
        }
示例#2
0
        public async Task <IActionResult> Signup([FromBody] SignUpUserDto user)
        {
            var account = await _userAccountRepository.GetByUserName(user.UserName);

            if (account != null)
            {
                return(BadRequest($"There is already an account registered with username: {user.UserName}"));
            }
            var _user = new UserAccountEntity().Create(user.UserName, user.Password.ComputeSha256Hash(), user.Role);

            await _userAccountRepository.CreateUser(_user);

            return(Ok());
        }
示例#3
0
        public async Task <IActionResult> Register([FromBody] SignUpUserDto userDto)
        {
            var user = _mapper.Map <User>(userDto);

            try
            {
                await Task.Run(() => _userService.Create(user, userDto.Password));

                return(Ok(BaseStatusDto.CreateSuccessDto()));
            }
            catch (UserServiceException ex)
            {
                return(BadRequest(BaseStatusDto.CreateErrorDto(ex.Message.ToString())));
            }
        }
示例#4
0
        public async Task <ActionResult <UserDto> > SignUp([FromBody] SignUpUserDto signUpUser)
        {
            try
            {
                var signUpResult = await _userUseCases.SignUp(signUpUser);

                return(UseCaseResponse(signUpResult));
            }
            catch (PlantedException ex)
            {
                _logger.LogDebug(ex.Message);
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                _logger.LogDebug(ex.Message);
                return(BadRequest(ExceptionMessage.Unexpected));
            }
        }
示例#5
0
        public async Task <IActionResult> SignUp([FromForm, FromBody] SignUpUserDto dto)
        {
            var user = new AppUser
            {
                FirstName = dto.FirstName,
                UserName  = dto.Email,
                LastName  = dto.LastName,
                Email     = dto.Email
            };

            var userCreateResult = await _userManager.CreateAsync(user, dto.Password);

            if (userCreateResult.Succeeded)
            {
                return(new CreatedResult(string.Empty, string.Empty));
            }

            return(new BadRequestResult());
        }
示例#6
0
        public async Task <IUseCaseResult <UserDto> > SignUp(SignUpUserDto signUpUserDto)
        {
            // Check if user exists
            var user = await _userService.GetUserByEmailAsync(signUpUserDto.EmailAddress);

            if (user != null)
            {
                return(UseCase.Fail <UserDto>(null, ResponseMessage.EmailExists));
            }

            // Hash Password
            signUpUserDto.Password = _authenticationService.CreatePasswordHash(signUpUserDto.Password);

            // Create User
            var newUser = await _userService.CreateUserAsync(signUpUserDto);

            // Create JWT (access token)
            var accessToken = _authenticationService.CreateAccessToken(newUser.EmailAddress);

            newUser.Token = accessToken.Token;


            return(UseCase.Success(newUser));
        }