pub struct HeaderExtractor<ClaimsType> { /* private fields */ }
Expand description

Extracts JWT token from HTTP Request headers

This exractor is very useful for all PWA application or for micro services because you can set your own headers while making http requests.

If you want to have users authorized using simple html anchor (tag A) you should use CookieExtractor

Implementations§

source§

impl<ClaimsType: Claims> HeaderExtractor<ClaimsType>

source

pub fn new(header_name: &'static str) -> Self

Creates new header extractor. It will extract token data from header with given name

Trait Implementations§

source§

impl<ClaimsType: Claims> SessionExtractor<ClaimsType> for HeaderExtractor<ClaimsType>

source§

fn extract_token_text<'req, 'life0, 'async_trait>( &'life0 self, req: &'req mut ServiceRequest ) -> Pin<Box<dyn Future<Output = Option<Cow<'req, str>>> + 'async_trait>>
where Self: 'async_trait, 'req: 'async_trait, 'life0: 'async_trait,

Lookup for session data as a string in actix_web::dev::ServiceRequest Read more
source§

fn extract_claims<'life0, 'life1, 'async_trait>( &'life0 self, req: &'life1 mut ServiceRequest, jwt_encoding_key: Arc<EncodingKey>, jwt_decoding_key: Arc<DecodingKey>, algorithm: Algorithm, storage: SessionStorage ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source§

fn decode( &self, value: &str, jwt_decoding_key: Arc<DecodingKey>, algorithm: Algorithm ) -> Result<ClaimsType, Error>

Decode encrypted JWT to structure
source§

fn validate<'life0, 'life1, 'async_trait>( &'life0 self, claims: &'life1 ClaimsType, storage: SessionStorage ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Validate JWT Claims agains stored in storage tokens. Read more

Auto Trait Implementations§

§

impl<ClaimsType> RefUnwindSafe for HeaderExtractor<ClaimsType>
where ClaimsType: RefUnwindSafe,

§

impl<ClaimsType> Send for HeaderExtractor<ClaimsType>
where ClaimsType: Send,

§

impl<ClaimsType> Sync for HeaderExtractor<ClaimsType>
where ClaimsType: Sync,

§

impl<ClaimsType> Unpin for HeaderExtractor<ClaimsType>
where ClaimsType: Unpin,

§

impl<ClaimsType> UnwindSafe for HeaderExtractor<ClaimsType>
where ClaimsType: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more