Skip to main content

RefreshRotationRequest

Struct RefreshRotationRequest 

Source
pub struct RefreshRotationRequest {
    pub subject: Subject,
    pub session_id: SessionId,
    pub session_version: SessionVersion,
    pub restriction: Restriction,
    pub current_refresh_jti: RefreshJti,
    pub current_refresh_valid_until: i128,
    pub next_refresh_jti: RefreshJti,
    pub next_refresh_expires_at: i64,
    pub client: ClientContext,
    pub now: i64,
    pub policy: RefreshPolicy,
}
Expand description

Candidate mutation submitted to the product’s writer transaction. It contains IDs and expiry, never token strings. Stores must recheck current account state, version, restriction and session ownership, then use classify_refresh before conditional rotation or atomic reuse revocation.

Fields§

§subject: Subject

Verified account subject.

§session_id: SessionId

Verified session identity.

§session_version: SessionVersion

Verified account generation.

§restriction: Restriction

Verified login restriction.

§current_refresh_jti: RefreshJti

Expected usable refresh identity.

§current_refresh_valid_until: i128

Exclusive credential deadline (exp plus verifier leeway), widened to avoid overflow. Stores must refresh now after waiting for database locks before classification.

§next_refresh_jti: RefreshJti

Candidate next identity; uniqueness must be enforced by persistence.

§next_refresh_expires_at: i64

Candidate next refresh expiry.

§client: ClientContext

Current client evidence. Do not substitute stored evidence before replay classification.

§now: i64

Decision timestamp supplied by the injected clock.

§policy: RefreshPolicy

Explicit product-selected stale/reuse policy.

Trait Implementations§

Source§

impl Clone for RefreshRotationRequest

Source§

fn clone(&self) -> RefreshRotationRequest

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RefreshRotationRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.