Struct jwt_compact::Claims
source · #[non_exhaustive]pub struct Claims<T> {
pub expiration: Option<DateTime<Utc>>,
pub not_before: Option<DateTime<Utc>>,
pub issued_at: Option<DateTime<Utc>>,
pub custom: T,
}
Expand description
Claims encoded in a token.
Claims are comprised of a “standard” part (exp
, nbf
and iat
claims as per JWT spec),
and custom fields. iss
, sub
and aud
claims are not in the standard part
due to a variety of data types they can be reasonably represented by.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.expiration: Option<DateTime<Utc>>
Expiration time of the token.
not_before: Option<DateTime<Utc>>
Minimum time at which token is valid.
issued_at: Option<DateTime<Utc>>
Time of token issuance.
custom: T
Custom claims.
Implementations§
source§impl<T> Claims<T>
impl<T> Claims<T>
sourcepub fn set_duration<F>(
self,
options: &TimeOptions<F>,
duration: Duration,
) -> Self
pub fn set_duration<F>( self, options: &TimeOptions<F>, duration: Duration, ) -> Self
Sets the expiration
claim so that the token has the specified duration
.
The current timestamp is taken from options
.
sourcepub fn set_duration_and_issuance<F>(
self,
options: &TimeOptions<F>,
duration: Duration,
) -> Self
pub fn set_duration_and_issuance<F>( self, options: &TimeOptions<F>, duration: Duration, ) -> Self
Atomically sets issued_at
and expiration
claims: first to the current time
(taken from options
), and the second to match the specified duration
of the token.
sourcepub fn set_not_before(self, moment: DateTime<Utc>) -> Self
pub fn set_not_before(self, moment: DateTime<Utc>) -> Self
Sets the nbf
claim.
sourcepub fn validate_expiration<F>(
&self,
options: &TimeOptions<F>,
) -> Result<&Self, ValidationError>
pub fn validate_expiration<F>( &self, options: &TimeOptions<F>, ) -> Result<&Self, ValidationError>
Validates the expiration claim.
This method will return an error if the claims do not feature an expiration time,
or if it is in the past (subject to the provided options
).
sourcepub fn validate_maturity<F>(
&self,
options: &TimeOptions<F>,
) -> Result<&Self, ValidationError>
pub fn validate_maturity<F>( &self, options: &TimeOptions<F>, ) -> Result<&Self, ValidationError>
Validates the maturity time (nbf
claim).
This method will return an error if the claims do not feature a maturity time,
or if it is in the future (subject to the provided options
).
Trait Implementations§
source§impl<'de, T> Deserialize<'de> for Claims<T>where
T: Deserialize<'de>,
impl<'de, T> Deserialize<'de> for Claims<T>where
T: Deserialize<'de>,
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl<T: PartialEq> PartialEq for Claims<T>
impl<T: PartialEq> PartialEq for Claims<T>
impl<T: Eq> Eq for Claims<T>
impl<T> StructuralPartialEq for Claims<T>
Auto Trait Implementations§
impl<T> Freeze for Claims<T>where
T: Freeze,
impl<T> RefUnwindSafe for Claims<T>where
T: RefUnwindSafe,
impl<T> Send for Claims<T>where
T: Send,
impl<T> Sync for Claims<T>where
T: Sync,
impl<T> Unpin for Claims<T>where
T: Unpin,
impl<T> UnwindSafe for Claims<T>where
T: UnwindSafe,
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)