To add to that, even if you have microservices everywhere on the backend, JWT is still rarely a good choice. Those services are typically exposed to customers via some sort of API Gateway/BFF. So if your clients don't speak to microservices directly, authentication between those services could easily be done via plain old HTTP Basic Auth.
Stripe has been doing that for their public API since forever, and that's one of the big reasons why it is so easy to work with them.
Stripe has been doing that for their public API since forever, and that's one of the big reasons why it is so easy to work with them.