pub struct ApiKeyConfig { /* private fields */ }Expand description
Configuration for ApiKeyAuthLayer.
Contains the pre-processed HMAC tags of all accepted API keys plus the per-process random seed used to derive those tags.
§Examples
ⓘ
use pjson_rs::infrastructure::http::auth::ApiKeyConfig;
let config = ApiKeyConfig::new(&["secret-key-1", "secret-key-2"])?;
let layer = ApiKeyAuthLayer::new(config);Implementations§
Source§impl ApiKeyConfig
impl ApiKeyConfig
Sourcepub fn new(raw_keys: &[&str]) -> Result<Self, AuthConfigError>
pub fn new(raw_keys: &[&str]) -> Result<Self, AuthConfigError>
Construct from a slice of raw API key strings.
§Errors
AuthConfigError::EmptyKeyList—raw_keysis empty.AuthConfigError::WhitespaceInKey— any key contains ASCII whitespace.AuthConfigError::RngFailure— the system RNG could not generate the HMAC seed.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ApiKeyConfig
impl RefUnwindSafe for ApiKeyConfig
impl Send for ApiKeyConfig
impl Sync for ApiKeyConfig
impl Unpin for ApiKeyConfig
impl UnsafeUnpin for ApiKeyConfig
impl UnwindSafe for ApiKeyConfig
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
Converts
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> ⓘ
Converts
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