pub struct AuthMiddleware { /* private fields */ }Expand description
Authentication middleware configuration
Implementations§
Source§impl AuthMiddleware
impl AuthMiddleware
Sourcepub fn new(
validator: Arc<JwtValidator>,
session_store: Arc<dyn SessionStore>,
public_key: Vec<u8>,
optional: bool,
) -> Self
pub fn new( validator: Arc<JwtValidator>, session_store: Arc<dyn SessionStore>, public_key: Vec<u8>, optional: bool, ) -> Self
Create a new authentication middleware
§Arguments
validator- JWT validatorsession_store- Session storage backendpublic_key- Public key for JWT signature verificationoptional- If true, missing auth is not an error
Sourcepub async fn validate_token(&self, token: &str) -> Result<Claims>
pub async fn validate_token(&self, token: &str) -> Result<Claims>
Validate a Bearer token and extract claims.
§Errors
Returns AuthError::InvalidToken if the token signature is invalid,
expired, or does not match the expected issuer/audience.
Returns AuthError::KeyError if the public key cannot be used for
verification.
Auto Trait Implementations§
impl Freeze for AuthMiddleware
impl !RefUnwindSafe for AuthMiddleware
impl Send for AuthMiddleware
impl Sync for AuthMiddleware
impl Unpin for AuthMiddleware
impl UnsafeUnpin for AuthMiddleware
impl !UnwindSafe for AuthMiddleware
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