Can I Skip Verification of Information Encoded in JWTs?

I have a little app that uses JWT to make some transactions (on a virtual “currency”, like tokens or points or credits). I don’t need it to be super secure (it’s only going to be online for maybe 6 hours), and adding a database just increases overhead and response time from the server for every transaction.

For example, say a JWT contains the user’s current balance. It is signed by the server and sent to the client. Then, the client sends back the JWT every time it makes a transaction.

Are JWTs secure enough to create that I can just verify the signature and skip checking from DB? In my example, can I just proceed with the transaction without checking from a DB whether the user has enough balance to proceed with the transaction?

Hi @bittere

Welcome to the Auth0 Community!

Thank you for asking your question. You shouldn’t rely solely on signature validation due to not trusting client-side data; if possible, you should always verify the content of the JWT with your source of truth.

Thanks
Dawid