#[non_exhaustive]pub enum RefreshError {
Unknown,
Expired,
Replay,
ChainRevoked,
Unbound,
Store(StoreError),
}Expand description
Errors raised by refresh-token rotation (cheers-server’s RefreshRotator).
Keyless, so it lives in the shared contract crate. #[non_exhaustive] so
future variants don’t break callers.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unknown
The presented token isn’t in the store.
Expired
expires_at <= now for this token.
Replay
The presented token has already been rotated. The chain is now revoked as
a side effect — every record sharing the chain id has revoked = true
after this error returns.
ChainRevoked
The chain was previously revoked (logout, device revoke, prior replay).
Unbound
The token is live, but the caller’s binding resolver knows no
DeviceBinding for its (user, device) — so there is no honest
binding to mint the successor access token with. Raised before the
token is consumed: the chain is left exactly as it was (R730).
Store(StoreError)
Underlying RefreshStore failure.
Trait Implementations§
Source§impl Debug for RefreshError
impl Debug for RefreshError
Source§impl Display for RefreshError
impl Display for RefreshError
Source§impl Error for RefreshError
impl Error for RefreshError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()