Example #1
0
 public UsersController(
     IRegisterInputHandler <IActionResult> registerInputHandler,
     IRegisterOutputHandler <IActionResult> registerOutputHandler,
     IAuthenticateInputHandler <IActionResult> authInputHandler,
     IAuthenticateOutputHandler <IActionResult> authOutputHandler,
     IDistributedCache cache)
 {
     _registerInputHandler  = registerInputHandler;
     _registerOutputHandler = registerOutputHandler;
     _authInputHandler      = authInputHandler;
     _authOutputHandler     = authOutputHandler;
     _cache = cache;
 }
Example #2
0
        public async Task HandleAsync(AuthenticateUserInput input, IAuthenticateOutputHandler <T> output)
        {
            var user = await _userRepository.GetByUsernameAsync(input.Username);

            if (user == null)
            {
                output.BadRequest("User does not exists");
            }

            if (!VerifyPasswordHash(input.Password, user.PasswordHash, user.PasswordSalt))
            {
                output.BadRequest("User credentials does not match");
            }

            var token = _tokenService.GenerateJwtToken(user.Username.ToString());

            output.Success(new AuthenticateUserOutput(user.Id, user.Username, token));
        }
 public AuthenticateUseCase(IAuthenticateOutputHandler outputHandler, IUserService userService)
 {
     _outputHandler = outputHandler;
     _userService   = userService;
 }