pub enum SaTokenError {
Show 56 variants
TokenNotFound,
InvalidToken(String),
TokenExpired,
NotLogin,
TokenInactive,
PermissionDenied,
PermissionDeniedDetail(String),
RoleDenied(String),
AccountBanned(String),
AccountKickedOut,
AccountReplaced,
NotSafe(String),
DisableService {
service: String,
level: i32,
},
SessionNotFound,
NonceAlreadyUsed,
InvalidNonceFormat,
InvalidNonceTimestamp,
RefreshTokenNotFound,
RefreshTokenInvalidData,
RefreshTokenMissingLoginId,
RefreshTokenInvalidExpireTime,
TokenEmpty,
TokenTooShort,
LoginIdNotNumber,
OAuth2ClientNotFound,
OAuth2InvalidCredentials,
OAuth2ClientIdMismatch,
OAuth2RedirectUriMismatch,
OAuth2CodeNotFound,
OAuth2AccessTokenNotFound,
OAuth2RefreshTokenNotFound,
OAuth2InvalidRefreshToken,
OAuth2InvalidScope,
OAuth2PkceRequired,
OAuth2PkceMismatch,
OAuth2TokenRevokeFailed(String),
OAuth2UnsupportedGrant,
OAuth2PkceRequiredForPublicClient,
InvalidTicket,
TicketExpired,
ServiceMismatch,
SsoSessionNotFound,
SsoSignInvalid,
TerminalDenied {
expected: String,
actual: String,
},
SameTokenInvalid,
BasicAuthFailed {
realm: String,
},
SignInvalid,
SignTimestampExpired,
TempTokenNotFound,
TempTokenExpired,
NotInitialized,
AlreadyInitialized,
StorageError(String),
ConfigError(String),
SerializationError(String),
InternalError(String),
}Expand description
Unified error type for sa-token-core | sa-token-core 统一错误类型
Variants§
TokenNotFound
Token not found or expired | Token 不存在或已过期
InvalidToken(String)
Token value is invalid | Token 值无效
TokenExpired
Token has expired | Token 已过期
NotLogin
Caller is not logged in | 当前未登录
TokenInactive
Token exists but is inactive | Token 存在但未激活
PermissionDenied
Permission check failed | 权限校验失败
PermissionDeniedDetail(String)
Missing a specific permission | 缺少指定权限
RoleDenied(String)
Missing a specific role | 缺少指定角色
AccountBanned(String)
Account is banned until the given time | 账号被封禁至指定时间
AccountKickedOut
Account was kicked out | 账号已被踢下线
AccountReplaced
Login was replaced on another device | 账号在其他设备顶替登录
NotSafe(String)
Secondary authentication required | 需要二次认证
DisableService
Account disabled for a service at a level | 账号在某服务下被禁用
SessionNotFound
Session not found | Session 不存在
NonceAlreadyUsed
Nonce already consumed (possible replay) | Nonce 已使用(疑似重放)
InvalidNonceFormat
Nonce format is invalid | Nonce 格式无效
InvalidNonceTimestamp
Nonce timestamp invalid or expired | Nonce 时间戳无效或过期
RefreshTokenNotFound
Refresh token missing or expired | 刷新令牌不存在或过期
RefreshTokenInvalidData
Refresh token payload invalid | 刷新令牌数据无效
RefreshTokenMissingLoginId
Refresh token missing login_id | 刷新令牌缺少 login_id
RefreshTokenInvalidExpireTime
Refresh token expire time format invalid | 刷新令牌过期时间格式无效
TokenEmpty
Token string is empty | Token 为空
TokenTooShort
Token string is too short | Token 过短
LoginIdNotNumber
Login id is not a valid number | 登录 ID 不是合法数字
OAuth2ClientNotFound
OAuth2 client not found | OAuth2 客户端不存在
OAuth2InvalidCredentials
Invalid OAuth2 client credentials | OAuth2 客户端凭据无效
OAuth2ClientIdMismatch
OAuth2 client id mismatch | OAuth2 客户端 ID 不匹配
OAuth2RedirectUriMismatch
OAuth2 redirect URI mismatch | OAuth2 回调地址不匹配
OAuth2CodeNotFound
Authorization code missing or expired | 授权码不存在或过期
OAuth2AccessTokenNotFound
Access token missing or expired | 访问令牌不存在或过期
OAuth2RefreshTokenNotFound
Refresh token missing or expired | 刷新令牌不存在或过期
OAuth2InvalidRefreshToken
Invalid OAuth2 refresh token data | OAuth2 刷新令牌数据无效
OAuth2InvalidScope
Invalid OAuth2 scope data | OAuth2 scope 数据无效
OAuth2PkceRequired
PKCE code_verifier required | 需要 PKCE code_verifier
OAuth2PkceMismatch
PKCE verification failed | PKCE 校验失败
OAuth2TokenRevokeFailed(String)
Token revoke failed | 令牌吊销失败
OAuth2UnsupportedGrant
Unsupported OAuth2 grant type | 不支持的授权类型
OAuth2PkceRequiredForPublicClient
Public client must use PKCE S256 | 公共客户端必须使用 PKCE S256
InvalidTicket
SSO ticket not found or invalid | SSO ticket 不存在或无效
TicketExpired
SSO ticket expired | SSO ticket 已过期
ServiceMismatch
Service URL mismatch | 服务地址不匹配
SsoSessionNotFound
SSO session not found | SSO 会话不存在
SsoSignInvalid
SSO request signature invalid | SSO 请求签名无效
TerminalDenied
Device / terminal type is not allowed. 设备/终端类型不允许。
Fields
SameTokenInvalid
Same-Token header missing or not matching current/past token. Same-Token 头缺失或与当前/宽限 token 不一致。
BasicAuthFailed
HTTP Basic credentials missing or mismatch. HTTP Basic 凭据缺失或不匹配。
SignInvalid
Request signature does not match. 请求签名不匹配。
SignTimestampExpired
Request timestamp missing or outside the allowed window.
请求 timestamp 缺失或超出允许窗口。
TempTokenNotFound
Temp token missing or already deleted. 临时令牌不存在或已删除。
TempTokenExpired
Temp token past expire_at. 临时令牌已过 expire_at。
NotInitialized
全局 Manager 尚未初始化 Global manager has not been initialized
AlreadyInitialized
全局 Manager 重复初始化 Global manager was already initialized
StorageError(String)
Underlying storage failure | 底层存储失败
ConfigError(String)
Invalid configuration | 配置无效
SerializationError(String)
Serialization / deserialization failure | 序列化或反序列化失败
InternalError(String)
Unexpected internal failure | 未预期的内部错误
Implementations§
Source§impl SaTokenError
impl SaTokenError
Sourcepub fn is_auth_error(&self) -> bool
pub fn is_auth_error(&self) -> bool
Whether this is an authentication (login/token) error. 是否为认证(登录/Token)类错误。
Sourcepub fn is_authz_error(&self) -> bool
pub fn is_authz_error(&self) -> bool
Whether this is an authorization (permission/role) error. 是否为授权(权限/角色)类错误。
Trait Implementations§
Source§impl Debug for SaTokenError
impl Debug for SaTokenError
Source§impl Display for SaTokenError
impl Display for SaTokenError
Source§impl Error for SaTokenError
impl Error for SaTokenError
1.30.0 · 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()
Source§impl From<Error> for SaTokenError
impl From<Error> for SaTokenError
Source§fn from(value: Error) -> SaTokenError
fn from(value: Error) -> SaTokenError
Source§impl From<SerializerError> for SaTokenError
impl From<SerializerError> for SaTokenError
Source§fn from(value: SerializerError) -> SaTokenError
fn from(value: SerializerError) -> SaTokenError
Auto Trait Implementations§
impl Freeze for SaTokenError
impl RefUnwindSafe for SaTokenError
impl Send for SaTokenError
impl Sync for SaTokenError
impl Unpin for SaTokenError
impl UnsafeUnpin for SaTokenError
impl UnwindSafe for SaTokenError
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> 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