One issuer serves every login, so a one-second cache refetched its key set
on nearly every login and a rate limit at the issuer became a login outage.
Keys are now trusted for five minutes; a token under an unknown key id may
force an early fetch, at most every ten seconds, which is how a newly
published key is picked up.
A fetch also added to the cached set and never removed from it, so a key
the issuer withdrew went on verifying until the controller restarted. The
fetched set now replaces it; a failed fetch keeps the last good one.
Co-authored-by: Hanzo Dev <[email protected]>