pub struct BearerAuthUser(pub User);Expand description
Axum extractor that validates an API bearer token.
Reads the Authorization: Bearer <token> header, validates the token
against the database, and returns the authenticated user.
Rejects with 401 if the header is absent, malformed, the token is unknown or expired, or the user is inactive.
This extractor requires AllowThem: FromRef<S> (not Arc<dyn AuthClient>)
because API tokens are an embedded-mode feature not part of the auth trait.
Usage: BearerAuthUser(user): BearerAuthUser in handler arguments.
Tuple Fields§
§0: UserTrait Implementations§
Source§impl<S: Send + Sync> FromRequestParts<S> for BearerAuthUser
impl<S: Send + Sync> FromRequestParts<S> for BearerAuthUser
Auto Trait Implementations§
impl Freeze for BearerAuthUser
impl RefUnwindSafe for BearerAuthUser
impl Send for BearerAuthUser
impl Sync for BearerAuthUser
impl Unpin for BearerAuthUser
impl UnsafeUnpin for BearerAuthUser
impl UnwindSafe for BearerAuthUser
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<S, T> FromRequest<S, ViaParts> for T
impl<S, T> FromRequest<S, ViaParts> for T
Source§type Rejection = <T as FromRequestParts<S>>::Rejection
type Rejection = <T as FromRequestParts<S>>::Rejection
If the extractor fails it’ll use this “rejection” type. A rejection is
a kind of error that can be converted into a response.
Source§fn from_request(
req: Request<Body>,
state: &S,
) -> impl Future<Output = Result<T, <T as FromRequest<S, ViaParts>>::Rejection>>
fn from_request( req: Request<Body>, state: &S, ) -> impl Future<Output = Result<T, <T as FromRequest<S, ViaParts>>::Rejection>>
Perform the extraction.
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