Struct jsonwebtoken::Validation
source · [−]pub struct Validation {
pub leeway: u64,
pub validate_exp: bool,
pub validate_nbf: bool,
pub aud: Option<HashSet<String>>,
pub iss: Option<String>,
pub sub: Option<String>,
pub algorithms: Vec<Algorithm>,
}Expand description
Contains the various validations that are applied after decoding a JWT.
All time validation happen on UTC timestamps as seconds.
use jsonwebtoken::Validation;
// Default value
let validation = Validation::default();
// Changing one parameter
let mut validation = Validation {leeway: 60, ..Default::default()};
// Setting audience
let mut validation = Validation::default();
validation.set_audience(&["Me"]); // a single string
validation.set_audience(&["Me", "You"]); // array of stringsFields
leeway: u64Add some leeway (in seconds) to the exp, iat and nbf validation to
account for clock skew.
Defaults to 0.
validate_exp: boolWhether to validate the exp field.
It will return an error if the time in the exp field is past.
Defaults to true.
validate_nbf: boolWhether to validate the nbf field.
It will return an error if the current timestamp is before the time in the nbf field.
Defaults to false.
aud: Option<HashSet<String>>If it contains a value, the validation will check that the aud field is a member of the
audience provided and will error otherwise.
Defaults to None.
iss: Option<String>If it contains a value, the validation will check that the iss field is the same as the
one provided and will error otherwise.
Defaults to None.
sub: Option<String>If it contains a value, the validation will check that the sub field is the same as the
one provided and will error otherwise.
Defaults to None.
algorithms: Vec<Algorithm>If it contains a value, the validation will check that the alg of the header is contained
in the ones provided and will error otherwise.
Defaults to vec![Algorithm::HS256].
Implementations
sourceimpl Validation
impl Validation
sourcepub fn new(alg: Algorithm) -> Validation
pub fn new(alg: Algorithm) -> Validation
Create a default validation setup allowing the given alg
sourcepub fn set_audience<T: ToString>(&mut self, items: &[T])
pub fn set_audience<T: ToString>(&mut self, items: &[T])
aud is a collection of one or more acceptable audience members
Trait Implementations
sourceimpl Clone for Validation
impl Clone for Validation
sourcefn clone(&self) -> Validation
fn clone(&self) -> Validation
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 Debug for Validation
impl Debug for Validation
sourceimpl Default for Validation
impl Default for Validation
sourcefn default() -> Validation
fn default() -> Validation
Returns the “default value” for a type. Read more
sourceimpl PartialEq<Validation> for Validation
impl PartialEq<Validation> for Validation
sourcefn eq(&self, other: &Validation) -> bool
fn eq(&self, other: &Validation) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
impl StructuralPartialEq for Validation
Auto Trait Implementations
impl RefUnwindSafe for Validation
impl Send for Validation
impl Sync for Validation
impl Unpin for Validation
impl UnwindSafe for Validation
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