Description
Right now, the token caching logic for the STSClient is hard-wired into the STSTokenRetriever. This makes it hard for the client to change how we cache tokens retrieved from the STS. Instead the logic should be abstracted and allow the user to plug in a custom implementation if so desired.