nova_auth_oidc_sup (nova_auth_oidc v0.2.1)
View SourceSupervisor for OIDC provider configuration workers. Each provider gets its
own oidcc_provider_configuration_worker child that fetches and caches
the provider's discovery document and JWKS.
Summary
Functions
Start a provider configuration worker as a child of this supervisor.
Start a provider configuration worker, threading extra
oidcc_provider_configuration_worker options alongside the required
issuer/name - most notably provider_configuration_opts => #{request_opts => #{ssl => [...]}} to pin the discovery/JWKS fetch to an explicit CA bundle
instead of the OS trust store. See nova_auth_oidc's moduledoc for why this
key must be treated as a trust anchor, not just a TLS knob.
Types
-type extra_worker_opts() :: #{provider_configuration_opts => oidcc_provider_configuration:opts(), backoff_min => oidcc_backoff:min(), backoff_max => oidcc_backoff:max(), backoff_type => oidcc_backoff:type()}.
Functions
-spec start_provider(atom(), binary()) -> supervisor:startchild_ret().
Start a provider configuration worker as a child of this supervisor.
-spec start_provider(atom(), binary(), extra_worker_opts()) -> supervisor:startchild_ret().
Start a provider configuration worker, threading extra
oidcc_provider_configuration_worker options alongside the required
issuer/name - most notably provider_configuration_opts => #{request_opts => #{ssl => [...]}} to pin the discovery/JWKS fetch to an explicit CA bundle
instead of the OS trust store. See nova_auth_oidc's moduledoc for why this
key must be treated as a trust anchor, not just a TLS knob.
ExtraOpts cannot override issuer or name: this supervisor owns those two
identity fields, so they are applied after merging in ExtraOpts.
Prefer certfile/keyfile paths over inline key material ({key, ...},
{password, ...}) in the ssl option list: ExtraOpts is echoed verbatim
in this supervisor's crash/restart SASL reports, so inline secrets end up in
logs and crash dumps every time the worker restarts.