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; }
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; }