An instance of
acts as a function object that, given an access
token in base-64 encoded JWT format, can parse the data, perform validation, and construct an
for use by the caller.
The primary reason for this abstraction is that client and broker may have different libraries
available to them to perform these operations. Additionally, the exact steps for validation may
differ between implementations. To put this more concretely: the implementation in the Kafka
client does not have bundled a robust library to perform this logic, and it is not the
responsibility of the client to perform vigorous validation. However, the Kafka broker ships with
a richer set of library dependencies that can perform more substantial validation and is also
expected to perform a trust-but-verify test of the access token's signature.