Skip to main content

JwtValidationOptions

Struct JwtValidationOptions 

Source
#[non_exhaustive]
pub struct JwtValidationOptions { pub algorithms: BTreeSet<JwsAlgorithm>, pub typ: Option<String>, pub issuer: Option<String>, pub audience: Option<String>, pub role: KeyRole, pub issuer_binding: IssuerBinding, pub required_claims: BTreeSet<String>, pub now: Option<i64>, pub leeway: Duration, }
Expand description

Options of JwtValidator: what the token must be, and when.

The default accepts every algorithm the crate verifies, any typ, any issuer and audience, with the key bound to iss, at the current time without leeway, and requires no claim.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§algorithms: BTreeSet<JwsAlgorithm>

The algorithms accepted; every algorithm when empty.

§typ: Option<String>

The header typ the token must have, if any.

§issuer: Option<String>

The iss the token must have, if any.

§audience: Option<String>

The audience the token’s aud must include, if any.

§role: KeyRole

The role the signing key is resolved for: KeyRole::Issuer (assertionMethod in a DID document) by default, KeyRole::Subject (authentication) for a token that proves possession.

§issuer_binding: IssuerBinding

Whether the signing key must belong to iss.

§required_claims: BTreeSet<String>

Claims that must be present, registered or not.

§now: Option<i64>

The validation time in seconds since the Unix epoch; the current time when None.

§leeway: Duration

How far exp, nbf and iat may miss the validation time and still pass.

Implementations§

Source§

impl JwtValidationOptions

Source

pub fn new() -> Self

The default options.

Source

pub fn with_algorithm(self, alg: JwsAlgorithm) -> Self

These options also accepting alg. Once one algorithm is named, only the named ones are accepted.

Source

pub fn with_typ(self, typ: impl Into<String>) -> Self

These options requiring the header typ to be typ.

Source

pub fn with_issuer(self, issuer: impl Into<String>) -> Self

These options requiring iss to be issuer.

Source

pub fn with_audience(self, audience: impl Into<String>) -> Self

These options requiring aud to include audience.

Source

pub fn with_role(self, role: KeyRole) -> Self

These options resolving the signing key for role.

Source

pub fn with_issuer_binding(self, binding: IssuerBinding) -> Self

These options with binding.

Source

pub fn with_required_claims<I, S>(self, claims: I) -> Self
where I: IntoIterator<Item = S>, S: Into<String>,

These options also requiring every claim of claims.

Source

pub fn at(self, now: i64) -> Self

These options validating at now, in seconds since the Unix epoch.

Source

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

These options with leeway.

Source

pub fn now(&self) -> i64

The validation time, in seconds since the Unix epoch.

Trait Implementations§

Source§

impl Clone for JwtValidationOptions

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for JwtValidationOptions

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for JwtValidationOptions

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for JwtValidationOptions

Source§

impl PartialEq for JwtValidationOptions

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for JwtValidationOptions

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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