#[non_exhaustive]pub struct AuthConfig {
pub issuer: Option<String>,
pub audience: Vec<String>,
pub session: AuthSessionConfig,
pub passkey: AuthPasskeyConfig,
pub oidc_provider: AuthOidcProviderConfig,
pub admin_api_keys: Vec<String>,
/* private fields */
}Expand description
Auth-module deployment shape. Read by the engine binary when the
auth Cargo feature is compiled in AND engine.modules.auth.enabled
is TRUE; otherwise the defaults are harmless.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.issuer: Option<String>JWT issuer + OIDC iss claim. Defaults to
<server.public_url>/auth when unset, which matches the route
mount point.
audience: Vec<String>JWT audience list — also used by the OIDC provider when minting
access_tokens for resource servers. Defaults to [issuer].
session: AuthSessionConfig§passkey: AuthPasskeyConfig§oidc_provider: AuthOidcProviderConfig§admin_api_keys: Vec<String>Admin API keys — comma-separated bearer tokens that grant access
to /admin/* routes. Operators rotate these via the engine
config. Per-token, no expiry; for fancier admin auth (Zanzibar
roles, session-based admin) see plan 12c § 6.7. Empty list locks
admin routes entirely (404 → 401).
Implementations§
Source§impl AuthConfig
impl AuthConfig
Sourcepub fn external_issuers(&self) -> &[ExternalIssuerConfig]
pub fn external_issuers(&self) -> &[ExternalIssuerConfig]
Read access to the parsed [[auth.external_issuers]] blocks.
Trait Implementations§
Source§impl Clone for AuthConfig
impl Clone for AuthConfig
Source§fn clone(&self) -> AuthConfig
fn clone(&self) -> AuthConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AuthConfig
impl Debug for AuthConfig
Source§impl Default for AuthConfig
impl Default for AuthConfig
Source§fn default() -> AuthConfig
fn default() -> AuthConfig
Source§impl<'de> Deserialize<'de> for AuthConfig
impl<'de> Deserialize<'de> for AuthConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for AuthConfig
impl RefUnwindSafe for AuthConfig
impl Send for AuthConfig
impl Sync for AuthConfig
impl Unpin for AuthConfig
impl UnsafeUnpin for AuthConfig
impl UnwindSafe for AuthConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more