pub struct ValidationOptions {
    pub claim_presence_options: ClaimPresenceOptions,
    pub temporal_options: TemporalOptions,
    pub issued_at: Validation<Duration>,
    pub not_before: Validation<()>,
    pub expiry: Validation<()>,
    pub issuer: Validation<String>,
    pub audience: Validation<String>,
}
Expand description

Options for claims validation

If a claim is missing, it passes validation unless the claim is marked as required within the claim_presence_options.

By default, no claims are required. If there are present, only expiry-related claims are validated (namely exp, nbf, iat) with zero epsilon and maximum age duration.

Should any temporal claims be required, set the appropriate fields.

To deal with clock drifts, you might want to provide an epsilon error margin in the form of a std::time::Duration to allow time comparisons to fall within the margin.

Fields§

§claim_presence_options: ClaimPresenceOptions

Claims marked as required will trigger a validation failure if they are missing

§temporal_options: TemporalOptions

Define how to validate temporal claims

§issued_at: Validation<Duration>

Validation options for iat or Issued At claim if present Parameter shows the maximum age of a token to be accepted, use Duration::max_value() if you do not want to skip validating the age of the token, and only validate it was not issued in the future

§not_before: Validation<()>

Validation options for nbf or Not Before claim if present

§expiry: Validation<()>

Validation options for exp or Expiry claim if present

§issuer: Validation<String>

Validation options for iss or Issuer claim if present Parameter must match the issuer in the token exactly.

§audience: Validation<String>

Validation options for aud or Audience claim if present Token must include an audience with the value of the parameter

Trait Implementations§

source§

impl Clone for ValidationOptions

source§

fn clone(&self) -> ValidationOptions

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Default for ValidationOptions

source§

fn default() -> Self

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

impl PartialEq for ValidationOptions

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for ValidationOptions

source§

impl StructuralEq for ValidationOptions

source§

impl StructuralPartialEq for ValidationOptions

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

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

§

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

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

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

§

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, U> Into<U> for Twhere 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> ToOwned for Twhere T: Clone,

§

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