pub struct AuthenticateMiddlewareFactory<ClaimsType> { /* private fields */ }
Expand description
A factory for the authentication middleware.
This is meant to be instantiated once during bootstrap and cloned to the app factory closure. That way, there is a single set of invalidated JWTs held in memory, refreshed by a single periodic timer.
Cloning is cheap because internally this uses Arcs to hold state.
Implementations§
Source§impl<ClaimsType> AuthenticateMiddlewareFactory<ClaimsType>where
ClaimsType: DeserializeOwned + 'static,
impl<ClaimsType> AuthenticateMiddlewareFactory<ClaimsType>where
ClaimsType: DeserializeOwned + 'static,
Sourcepub fn new<S>(
invalidated_jwts_events: S,
settings: AuthenticateMiddlewareSettings,
) -> AuthenticateMiddlewareFactory<ClaimsType>
pub fn new<S>( invalidated_jwts_events: S, settings: AuthenticateMiddlewareSettings, ) -> AuthenticateMiddlewareFactory<ClaimsType>
Takes a futures_util::Stream of InvalidatedTokensEvents and returns a AuthenticateMiddlewareFactory that knows how consume the stream to populate an in-memory set of invalidated JWTs that is then passed on to the AuthenticateMiddleware that it spawns.
Trait Implementations§
Source§impl<ClaimsType: Clone> Clone for AuthenticateMiddlewareFactory<ClaimsType>
impl<ClaimsType: Clone> Clone for AuthenticateMiddlewareFactory<ClaimsType>
Source§fn clone(&self) -> AuthenticateMiddlewareFactory<ClaimsType>
fn clone(&self) -> AuthenticateMiddlewareFactory<ClaimsType>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<S, B, ClaimsType> Transform<S, ServiceRequest> for AuthenticateMiddlewareFactory<ClaimsType>where
S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
ClaimsType: DeserializeOwned + 'static,
impl<S, B, ClaimsType> Transform<S, ServiceRequest> for AuthenticateMiddlewareFactory<ClaimsType>where
S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
ClaimsType: DeserializeOwned + 'static,
Source§type Response = ServiceResponse<B>
type Response = ServiceResponse<B>
Responses produced by the service.
Source§type Transform = AuthenticateMiddleware<S, ClaimsType>
type Transform = AuthenticateMiddleware<S, ClaimsType>
The
TransformService
value created by this factorySource§type Future = Ready<Result<<AuthenticateMiddlewareFactory<ClaimsType> as Transform<S, ServiceRequest>>::Transform, <AuthenticateMiddlewareFactory<ClaimsType> as Transform<S, ServiceRequest>>::InitError>>
type Future = Ready<Result<<AuthenticateMiddlewareFactory<ClaimsType> as Transform<S, ServiceRequest>>::Transform, <AuthenticateMiddlewareFactory<ClaimsType> as Transform<S, ServiceRequest>>::InitError>>
The future response value.
Source§fn new_transform(&self, service: S) -> Self::Future
fn new_transform(&self, service: S) -> Self::Future
Creates and returns a new Transform component, asynchronously
Auto Trait Implementations§
impl<ClaimsType> Freeze for AuthenticateMiddlewareFactory<ClaimsType>
impl<ClaimsType> !RefUnwindSafe for AuthenticateMiddlewareFactory<ClaimsType>
impl<ClaimsType> Send for AuthenticateMiddlewareFactory<ClaimsType>where
ClaimsType: Send,
impl<ClaimsType> Sync for AuthenticateMiddlewareFactory<ClaimsType>where
ClaimsType: Sync,
impl<ClaimsType> Unpin for AuthenticateMiddlewareFactory<ClaimsType>where
ClaimsType: Unpin,
impl<ClaimsType> !UnwindSafe for AuthenticateMiddlewareFactory<ClaimsType>
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