pub struct ProviderConfig {
pub provider: String,
pub client_id: String,
pub client_secret: String,
pub redirect_uri: String,
pub scopes_override: Option<String>,
pub tenant: Option<String>,
pub apple: Option<AppleConfig>,
pub oidc_issuer: Option<String>,
}Expand description
Runtime config layered on top of a static ProviderSpec: the
developer’s client_id/client_secret/redirect_uri, plus any
per-provider extras (Microsoft tenant id, Apple key material,
scopes override).
Fields§
§provider: String§client_id: String§client_secret: StringFor most providers this is a static string. For Apple, it’s
the path to (or PEM contents of) a private key — see
AppleConfig. The runtime stores this opaquely and the
signer is responsible for interpretation.
redirect_uri: String§scopes_override: Option<String>Scopes override — when present, replaces ProviderSpec::scopes.
Use cases: requesting repo on GitHub for app-installation
flows; requesting https://www.googleapis.com/auth/calendar on
Google for app-specific data access.
tenant: Option<String>Tenant id for Microsoft / Entra. Defaults to common (any
account type — work, school, personal). Single-tenant apps
supply a directory GUID; multi-tenant work-only apps use
organizations.
apple: Option<AppleConfig>Apple-specific extras. None for non-Apple providers.
oidc_issuer: Option<String>OIDC issuer URL for [builtin::generic_oidc]-style providers.
When set, the discovery cache pulls
<issuer>/.well-known/openid-configuration to populate
the spec at first use.
Trait Implementations§
Source§impl Clone for ProviderConfig
impl Clone for ProviderConfig
Source§fn clone(&self) -> ProviderConfig
fn clone(&self) -> ProviderConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more