#[non_exhaustive]pub struct SessionInfo<S> {
pub session_id: Uuid,
pub subject: S,
pub created_at: DateTime<Utc>,
pub authenticated_at: DateTime<Utc>,
pub last_seen_at: DateTime<Utc>,
pub expires_at: DateTime<Utc>,
pub step_up_required: bool,
pub browser: Option<String>,
pub os: Option<String>,
pub country: Option<String>,
pub origin: Option<SessionOrigin>,
}Expand description
A session as listed by Guard::list_sessions or returned by
Guard::peek, for “your devices” pages.
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.session_id: UuidSession id.
subject: SWho the session belongs to.
created_at: DateTime<Utc>When it was created.
authenticated_at: DateTime<Utc>When the subject last proved who they are.
last_seen_at: DateTime<Utc>Last request (written at most once per write interval).
expires_at: DateTime<Utc>Absolute expiry.
step_up_required: boolWhether the session is waiting for step-up.
browser: Option<String>Browser family of the session’s client.
os: Option<String>Operating system family of the session’s client.
country: Option<String>Country of the session’s client, if an IP intelligence source is configured.
origin: Option<SessionOrigin>Where the session started. None for sessions created before 0.2.
Trait Implementations§
Source§impl<S: Clone> Clone for SessionInfo<S>
impl<S: Clone> Clone for SessionInfo<S>
Source§impl<S: Debug> Debug for SessionInfo<S>
impl<S: Debug> Debug for SessionInfo<S>
impl<S: Eq> Eq for SessionInfo<S>
Source§impl<S: PartialEq> PartialEq for SessionInfo<S>
impl<S: PartialEq> PartialEq for SessionInfo<S>
impl<S: PartialEq> StructuralPartialEq for SessionInfo<S>
Auto Trait Implementations§
impl<S> Freeze for SessionInfo<S>where
S: Freeze,
impl<S> RefUnwindSafe for SessionInfo<S>where
S: RefUnwindSafe,
impl<S> Send for SessionInfo<S>where
S: Send,
impl<S> Sync for SessionInfo<S>where
S: Sync,
impl<S> Unpin for SessionInfo<S>where
S: Unpin,
impl<S> UnsafeUnpin for SessionInfo<S>where
S: UnsafeUnpin,
impl<S> UnwindSafe for SessionInfo<S>where
S: 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: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more