A microservices-based application needs to authenticate users and then allow them to access various services without each service needing to re-authenticate the user against a central database.
The identity information and permissions must be self-contained and cryptographically verifiable by any service.
Which security pattern is most suitable for this scenario?