LavinMQ::Auth::JWT::JWKSFetcher
Fetches JWKS (JSON Web Key Set) from OAuth provider. Handles OIDC discovery and JWKS parsing.
Constants
Log = LavinMQ::Log.for("jwks_fetcher")
ON_DEMAND_FETCH_COOLDOWN = 30.seconds
Minimum time between failed on-demand fetch attempts, so an unreachable provider doesn't delay every authentication.
Constructors
Instance methods
cleanup
Sourceensure_keys
Fetches the JWKS when no fetch has succeeded yet (e.g. verification racing the initial background fetch), blocking until keys are available. No-op once keys exist; never raises. Failed attempts are retried at most every ON_DEMAND_FETCH_COOLDOWN.
fetch_jwks
Sourcefetch_oidc_config
Sourceoidc_config
Sourcepublic_keys
Sourcestart_refresh_loop(retry_delay initial_retry_delay = 5.seconds)
Source