Struct jwt_compact::TimeOptions
source · #[non_exhaustive]pub struct TimeOptions<F = fn() -> DateTime<Utc>> {
pub leeway: Duration,
pub clock_fn: F,
}
Expand description
Time-related options for token creation and validation.
If the clock
crate feature is on (and it’s on by default), TimeOptions
can be created
using the Default
impl or Self::from_leeway()
. If the feature is off,
you can still create options using a generic constructor.
§Examples
// Default options.
let default_options = TimeOptions::default();
let options_with_custom_leeway =
TimeOptions::from_leeway(Duration::try_seconds(5).unwrap());
// Options that have a fixed time. Can be useful for testing.
let clock_time = Utc::now();
let options_with_stopped_clock =
TimeOptions::new(Duration::try_seconds(10).unwrap(), move || clock_time);
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.leeway: Duration
Leeway to use during validation.
clock_fn: F
Source of the current timestamps.
Implementations§
source§impl TimeOptions
impl TimeOptions
sourcepub fn from_leeway(leeway: Duration) -> Self
Available on crate feature clock
only.
pub fn from_leeway(leeway: Duration) -> Self
clock
only.Creates options based on the specified time leeway. The clock source is Utc::now()
.
Trait Implementations§
source§impl<F: Clone> Clone for TimeOptions<F>
impl<F: Clone> Clone for TimeOptions<F>
source§fn clone(&self) -> TimeOptions<F>
fn clone(&self) -> TimeOptions<F>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<F: Debug> Debug for TimeOptions<F>
impl<F: Debug> Debug for TimeOptions<F>
source§impl Default for TimeOptions
impl Default for TimeOptions
Creates options with a default leeway (60 seconds) and the Utc::now()
clock.
This impl is supported on crate feature clock
only.
impl<F: Copy> Copy for TimeOptions<F>
Auto Trait Implementations§
impl<F> Freeze for TimeOptions<F>where
F: Freeze,
impl<F> RefUnwindSafe for TimeOptions<F>where
F: RefUnwindSafe,
impl<F> Send for TimeOptions<F>where
F: Send,
impl<F> Sync for TimeOptions<F>where
F: Sync,
impl<F> Unpin for TimeOptions<F>where
F: Unpin,
impl<F> UnwindSafe for TimeOptions<F>where
F: 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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)