#[non_exhaustive]pub enum EventKind {
Login,
Logout,
StepUpRequired,
StepUpCompleted,
RiskRevoked,
TokenReuse,
TokenReissued,
Revoked,
}Expand description
What happened.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Login
A session was created.
Logout
The client ended its session.
StepUpRequired
The risk score reached the step-up threshold.
StepUpCompleted
The subject re-verified and the session was trusted again.
RiskRevoked
The risk score reached the revoke threshold (or step-up under
StepUpPolicy::Revoke).
TokenReuse
A superseded token was presented after its successor was used: two parties hold the session, so it was revoked. Always enforced, also in shadow mode.
TokenReissued
A token whose successor never reached the client was replaced (lost response).
Revoked
The app ended the session (Guard::revoke_session or
Guard::revoke_all_for_subject). The event’s
client is whoever asked, not the session’s.
Implementations§
Source§impl EventKind
impl EventKind
Sourcepub const fn is_security_relevant(self) -> bool
pub const fn is_security_relevant(self) -> bool
Whether this kind points at a possible attack (logged as a warning).
TokenReissued is not one: a lost response is routine, and the
attack signal is TokenReuse.
Trait Implementations§
impl Copy for EventKind
Source§impl<'de> Deserialize<'de> for EventKind
impl<'de> Deserialize<'de> for EventKind
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>,
impl Eq for EventKind
impl StructuralPartialEq for EventKind
Auto Trait Implementations§
impl Freeze for EventKind
impl RefUnwindSafe for EventKind
impl Send for EventKind
impl Sync for EventKind
impl Unpin for EventKind
impl UnsafeUnpin for EventKind
impl UnwindSafe for EventKind
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
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> ⓘ
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> ⓘ
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