Struct biscuit::ValidationOptions
source · 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
impl Clone for ValidationOptions
source§fn clone(&self) -> ValidationOptions
fn clone(&self) -> ValidationOptions
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for ValidationOptions
impl Default for ValidationOptions
source§impl PartialEq for ValidationOptions
impl PartialEq for ValidationOptions
source§fn eq(&self, other: &ValidationOptions) -> bool
fn eq(&self, other: &ValidationOptions) -> bool
self
and other
values to be equal, and is used
by ==
.impl Eq for ValidationOptions
impl StructuralEq for ValidationOptions
impl StructuralPartialEq for ValidationOptions
Auto Trait Implementations§
impl RefUnwindSafe for ValidationOptions
impl Send for ValidationOptions
impl Sync for ValidationOptions
impl Unpin for ValidationOptions
impl UnwindSafe for ValidationOptions
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.