public async Task <Response> Handle(Request request, CancellationToken cancellationToken) { var passwordHelper = new PasswordHelper(); var user = await _repository.FindByUsername(request.Username); if (user is null || !passwordHelper.ConfirmPassword(request.Password, request.Username, user.Password)) { throw new UsernamePasswordMismatchException(); } var token = GenerateJwtAccessToken(request.Username); return(new Response(token, request.Username)); }