Skip to main content

JwtVerifierBuilder

Struct JwtVerifierBuilder 

Source
pub struct JwtVerifierBuilder { /* private fields */ }
Expand description

Builder of JwtVerifier.

Implementations§

Source§

impl JwtVerifierBuilder

Source

pub fn jwks_uri(self, uri: impl Into<String>) -> Self

Fetches keys from this URL instead of discovering it from the issuer’s metadata.

Source

pub fn jwks(self, document: impl Into<String>) -> Self

Uses these keys (a JWKS document, {"keys": [..]}) and never fetches any. Rotating them then requires a restart.

Source

pub fn algorithms(self, algorithms: impl IntoIterator<Item = Algorithm>) -> Self

The accepted signature algorithms. Default: all of Algorithm::ALL.

Source

pub fn leeway(self, leeway: Duration) -> Self

Tolerated clock difference for exp and nbf. Default: 60 s.

Source

pub fn http_timeout(self, timeout: Duration) -> Self

Time allowed for each metadata or JWKS request. Default: 5 s.

Source

pub fn min_refresh_interval(self, interval: Duration) -> Self

Minimum time between two key fetches triggered by tokens that name unknown keys, so forged tokens cannot make the server hammer the authorization server. Default: 30 s.

Source

pub fn build(self) -> Result<JwtVerifier, JwtError>

Validates the settings.

§Errors

Fails when the issuer or jwks_uri is not a valid URL (https, or http on localhost), the audience is empty, no algorithm is allowed, static keys contain no usable signing key, or the system’s TLS roots cannot be loaded.

Trait Implementations§

Source§

impl Debug for JwtVerifierBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

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

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.
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