#[non_exhaustive]pub enum SignInRefusal {
AlreadyUsed,
Expired,
WrongApp,
Unknown,
Malformed,
SignInEnded,
AccountInactive,
Other,
}Expand description
Why Silicon Accounts refused a short-lived token or refresh token (invalid_grant),
from its description. None when the error is not such a refusal.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
AlreadyUsed
The token was already used (short-lived tokens work once).
Expired
The token expired (short-lived tokens last 2 minutes, sign-ins at most 900 days).
WrongApp
The token was issued for another app.
Unknown
The token is unknown (mistyped, or from another Silicon Accounts environment).
Malformed
The value is not that kind of token.
SignInEnded
The sign-in behind it ended (signed out, STK rotated, trust removed, reuse detected).
AccountInactive
The account was deleted, suspended, or removed Commit’s access.
Other
Another reason; read the message.
Implementations§
Trait Implementations§
Source§impl Clone for SignInRefusal
impl Clone for SignInRefusal
impl Copy for SignInRefusal
Source§impl Debug for SignInRefusal
impl Debug for SignInRefusal
impl Eq for SignInRefusal
Source§impl PartialEq for SignInRefusal
impl PartialEq for SignInRefusal
impl StructuralPartialEq for SignInRefusal
Auto Trait Implementations§
impl Freeze for SignInRefusal
impl RefUnwindSafe for SignInRefusal
impl Send for SignInRefusal
impl Sync for SignInRefusal
impl Unpin for SignInRefusal
impl UnsafeUnpin for SignInRefusal
impl UnwindSafe for SignInRefusal
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.