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, updated by a stream.
Cloning is cheap because internally this uses Arcs to hold state.
Implementations
sourceimpl<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> where
S: Stream<Item = InvalidatedTokensEvent> + Unpin + 'static,
pub fn new<S>(
invalidated_jwts_events: S,
settings: AuthenticateMiddlewareSettings
) -> AuthenticateMiddlewareFactory<ClaimsType> where
S: Stream<Item = InvalidatedTokensEvent> + Unpin + 'static,
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
sourceimpl<ClaimsType: Clone> Clone for AuthenticateMiddlewareFactory<ClaimsType>
impl<ClaimsType: Clone> Clone for AuthenticateMiddlewareFactory<ClaimsType>
sourcefn clone(&self) -> AuthenticateMiddlewareFactory<ClaimsType>
fn clone(&self) -> AuthenticateMiddlewareFactory<ClaimsType>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<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,
type Response = ServiceResponse<B>
type Response = ServiceResponse<B>
Responses produced by the service.
type Error = Error
type Error = Error
Errors produced by the service.
type Transform = AuthenticateMiddleware<S, ClaimsType>
type Transform = AuthenticateMiddleware<S, ClaimsType>
The TransformService
value created by this factory
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.
sourcefn 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> !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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more