JWT doesn't sound like the correct solution to your problem but to expand on Keith's answer a bit:
The JWT OAuth flow is predicated on a previously set up mutual trust between you (the app developer) and the Salesforce user who is using your app. If that trust hasn't already been established, you're not going to create this trusted relationship by just posting some data to Salesforce with their username.
First, the user needs to "trust" your connected app. This is usually by an admin preauthorizing it or the user using it in the past.
At this point, because you're now trusted...
An incoming request to Salesforce that has been signed by the private key of the Connected App's certificate is the proof that you are the same entity which the user trusted initially, allowing your connected app to access Salesforce on their behalf. If you meet these conditions, you'll get a successful response with tokens.
Without the prior trust, you're out of luck.