pub struct ApiKeyMiddleware { /* private fields */ }Expand description
Middleware that authenticates requests via API key in the Authorization header.
Extracts Bearer {key} from the Authorization header, resolves an
ApiKeyProvider from the service container, and verifies the key.
On success, stores ApiKeyInfo in request extensions.
§Example
ⓘ
// Require any valid API key
group!("/api/v1")
.middleware(ApiKeyMiddleware::new())
.routes([...]);
// Require specific scopes
group!("/api/v1/admin")
.middleware(ApiKeyMiddleware::scopes(&["admin"]))
.routes([...]);Implementations§
Trait Implementations§
Source§impl Default for ApiKeyMiddleware
impl Default for ApiKeyMiddleware
Auto Trait Implementations§
impl Freeze for ApiKeyMiddleware
impl RefUnwindSafe for ApiKeyMiddleware
impl Send for ApiKeyMiddleware
impl Sync for ApiKeyMiddleware
impl Unpin for ApiKeyMiddleware
impl UnsafeUnpin for ApiKeyMiddleware
impl UnwindSafe for ApiKeyMiddleware
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
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