Struct jsonwebtoken::Validation [] [src]

pub struct Validation {
    pub leeway: i64,
    pub validate_signature: bool,
    pub validate_exp: bool,
    pub validate_iat: bool,
    pub validate_nbf: bool,
    pub aud: Option<Value>,
    pub iss: Option<String>,
    pub sub: Option<String>,
    pub algorithms: Option<Vec<Algorithm>>,
}

Contains the various validations that are applied after decoding a token.

All time validation happen on UTC timestamps.

use jsonwebtoken::Validation;

// Default value
let validation = Validation::default();

// Changing one parameter
let mut validation = Validation {leeway: 1000 * 60, ..Default::default()};

// Setting audience
let mut validation = Validation::default();
validation.set_audience(&"Me"); // string
validation.set_audience(&["Me", "You"]); // array of strings

Fields

Add some leeway (in ms) to the exp, iat and nbf validation to account for clock skew.

Defaults to 0.

Whether to actually validate the signature of the token.

WARNING: only set that to false if you know what you are doing.

Defaults to true.

Whether to validate the exp field.

It will return an error if the time in the exp field is past.

Defaults to true.

Whether to validate the iat field.

It will return an error if the time in the iat field is in the future.

Defaults to true.

Whether to validate the nbf field.

It will return an error if the current timestamp is before the time in the nbf field.

Defaults to true.

If it contains a value, the validation will check that the aud field is the same as the one provided and will error otherwise. Since aud can be either a String or a Vec in the JWT spec, you will need to use the set_audience method to set it.

Defaults to None.

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.

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.

If it contains a value, the validation will check that the alg of the header is container in the ones provided and will error otherwise.

Defaults to None.

Methods

impl Validation
[src]

Since aud can be either a String or an array of String in the JWT spec, this method will take care of serializing the value.

Trait Implementations

impl Debug for Validation
[src]

Formats the value using the given formatter.

impl Clone for Validation
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for Validation
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Default for Validation
[src]

Returns the "default value" for a type. Read more