I'm integrating JWT into my service that will be used by mobile clients. The idea is to include user id in the payload and sign in with user's private key on the client. Then, on the service side, extract the user id and verify the signature using the public key. It's seems quite a few people do this, based on number of questions how to extract JWT payload before verifying it. But on the other hand often it is stated that 'Always verify the signature before you trust any information in the JWT'.
What is a correct way to implement this? Should I include user id and signature into payload and then sign it with client private key?