AshAuthentication.Firebase.TokenVerifier.KeyStore (ash_authentication_firebase v1.1.0)

Copy Markdown View Source

GenServer responsible for managing Firebase public keys. Fetches and caches JWKs (JSON Web Keys) from Google's servers.

Summary

Functions

Returns a specification to start this module under a supervisor.

Asynchronously queues a key refresh.

Starts the key store GenServer and registers it under this module's name.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

refresh_keys()

@spec refresh_keys() :: :ok

Asynchronously queues a key refresh.

Fire-and-forget cast; returns :ok immediately without waiting for the fetch to complete. Intended for internal use by the scheduled-refresh timer — callers that need to know whether the refresh succeeded should use refresh_now/0 instead.

start_link(opts \\ [])

@spec start_link(keyword()) :: GenServer.on_start()

Starts the key store GenServer and registers it under this module's name.

Options:

  • :refresh_interval — fallback interval, in milliseconds, between background refreshes when Google's Cache-Control: max-age header is missing or unparseable. Defaults to 30 minutes.
  • :url — JWKS endpoint to fetch. Defaults to Google's public key URL; overridable primarily for tests.

Typically started by the library's application supervisor — host applications do not need to invoke this directly.