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: SubjectVerified account subject.
session_id: SessionIdVerified session identity.
session_version: SessionVersionVerified account generation.
restriction: RestrictionVerified login restriction.
current_refresh_jti: RefreshJtiExpected usable refresh identity.
current_refresh_valid_until: i128Exclusive credential deadline (exp plus verifier leeway), widened to avoid overflow.
Stores must refresh now after waiting for database locks before classification.
next_refresh_jti: RefreshJtiCandidate next identity; uniqueness must be enforced by persistence.
next_refresh_expires_at: i64Candidate next refresh expiry.
client: ClientContextCurrent client evidence. Do not substitute stored evidence before replay classification.
now: i64Decision timestamp supplied by the injected clock.
policy: RefreshPolicyExplicit product-selected stale/reuse policy.
Trait Implementations§
Source§impl Clone for RefreshRotationRequest
impl Clone for RefreshRotationRequest
Source§fn clone(&self) -> RefreshRotationRequest
fn clone(&self) -> RefreshRotationRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more