Skip to content

SaToken Error Reference

English

Error Categories

sa-token-rust provides 32 error types organized into 10 categories:

1. Basic Token Errors

TokenNotFound
  • Message: "Token not found or expired"
  • Description: The requested token does not exist in storage or has expired
  • Common Causes: Token was never created, expired naturally, or manually deleted
  • Solution: User needs to log in again to obtain a new token
InvalidToken
  • Message: "Token is invalid: {reason}"
  • Description: The token format or content is invalid
  • Common Causes: Corrupted token, tampered token, or wrong token format
  • Solution: Verify token integrity and ensure correct token format
TokenExpired
  • Message: "Token has expired"
  • Description: The token has passed its expiration time
  • Common Causes: Token timeout exceeded configured duration
  • Solution: Use refresh token to get a new access token or re-authenticate

2. Authentication Errors

NotLogin
  • Message: "User not logged in"
  • Description: User is attempting to access a protected resource without authentication
  • Common Causes: No token provided, token not found in request
  • Solution: User must log in first to obtain a valid token

3. Authorization Errors

PermissionDenied
  • Message: "Permission denied: missing permission '{permission}'"
  • Description: User lacks the required permission to perform the action
  • Common Causes: Insufficient permissions assigned to the user
  • Solution: Grant the required permission to the user or role
RoleDenied
  • Message: "Role denied: missing role '{role}'"
  • Description: User does not have the required role
  • Common Causes: User not assigned to the necessary role
  • Solution: Assign the required role to the user

4. Account Status Errors

AccountBanned
  • Message: "Account is banned until {time}"
  • Description: The account has been temporarily or permanently banned
  • Common Causes: Violation of terms, security issues, or administrative action
  • Solution: Wait until ban expires or contact administrator
AccountKickedOut
  • Message: "Account is kicked out"
  • Description: User session has been forcefully terminated
  • Common Causes: Administrator kicked the user, concurrent login on another device
  • Solution: User needs to log in again

5. Session Errors

SessionNotFound
  • Message: "Session not found"
  • Description: The session does not exist or has been deleted
  • Common Causes: Session expired, manually deleted, or never created
  • Solution: Establish a new session by logging in

6. Nonce Errors

NonceAlreadyUsed
  • Message: "Nonce has been used, possible replay attack detected"
  • Description: The nonce has already been consumed, indicating a potential replay attack
  • Common Causes: Duplicate request submission, replay attack attempt
  • Solution: Generate a new nonce for each request
InvalidNonceFormat
  • Message: "Invalid nonce format"
  • Description: The nonce does not follow the expected format
  • Common Causes: Corrupted nonce, manually crafted invalid nonce
  • Solution: Use the standard nonce generation method
InvalidNonceTimestamp
  • Message: "Nonce timestamp is invalid or expired"
  • Description: The timestamp embedded in the nonce is invalid or outside the valid time window
  • Common Causes: System time drift, expired nonce, or tampered timestamp
  • Solution: Synchronize system time and generate a fresh nonce

7. Refresh Token Errors

RefreshTokenNotFound
  • Message: "Refresh token not found or expired"
  • Description: The refresh token does not exist or has expired
  • Common Causes: Never issued, expired, or revoked
  • Solution: User must re-authenticate to get a new refresh token
RefreshTokenInvalidData
  • Message: "Invalid refresh token data"
  • Description: The stored refresh token data is corrupted or malformed
  • Common Causes: Storage corruption, tampering, or serialization error
  • Solution: User must re-authenticate
RefreshTokenMissingLoginId
  • Message: "Missing login_id in refresh token"
  • Description: The refresh token is missing the required login_id field
  • Common Causes: Data corruption or incomplete token generation
  • Solution: Generate a new refresh token
RefreshTokenInvalidExpireTime
  • Message: "Invalid expire time format in refresh token"
  • Description: The expiration time in refresh token cannot be parsed
  • Common Causes: Incorrect date format or corrupted data
  • Solution: Generate a new refresh token with correct format

8. Token Validation Errors

TokenEmpty
  • Message: "Token is empty"
  • Description: No token value provided
  • Common Causes: Empty string passed as token
  • Solution: Provide a valid token value
TokenTooShort
  • Message: "Token is too short"
  • Description: Token length is below minimum required (8 characters)
  • Common Causes: Truncated or invalid token
  • Solution: Provide a complete valid token
LoginIdNotNumber
  • Message: "Login ID is not a valid number"
  • Description: Failed to parse login ID as a numeric value
  • Common Causes: Non-numeric login ID when numeric is expected
  • Solution: Ensure login ID format matches expected type

9. OAuth2 Errors

OAuth2ClientNotFound
  • Message: "OAuth2 client not found"
  • Description: The OAuth2 client ID does not exist
  • Common Causes: Unregistered client or incorrect client ID
  • Solution: Register the client or verify client ID
OAuth2InvalidCredentials
  • Message: "Invalid client credentials"
  • Description: Client ID and secret combination is invalid
  • Common Causes: Wrong secret, mistyped credentials
  • Solution: Verify client credentials are correct
OAuth2ClientIdMismatch
  • Message: "Client ID mismatch"
  • Description: Client ID doesn't match the expected value
  • Common Causes: Using wrong client ID for authorization code or refresh token
  • Solution: Use the correct client ID that initiated the flow
OAuth2RedirectUriMismatch
  • Message: "Redirect URI mismatch"
  • Description: Redirect URI doesn't match registered URIs
  • Common Causes: URI not in whitelist, typo in URI
  • Solution: Use a registered redirect URI
OAuth2CodeNotFound
  • Message: "Authorization code not found or expired"
  • Description: Authorization code doesn't exist or has expired
  • Common Causes: Code already used, expired (typically 10 minutes)
  • Solution: Request a new authorization code
OAuth2AccessTokenNotFound
  • Message: "Access token not found or expired"
  • Description: OAuth2 access token not found or expired
  • Common Causes: Token expired (typically 1 hour), revoked, or never issued
  • Solution: Refresh token or re-authorize
OAuth2RefreshTokenNotFound
  • Message: "Refresh token not found or expired"
  • Description: OAuth2 refresh token not found or expired
  • Common Causes: Token expired (typically 30 days), revoked, or never issued
  • Solution: User must re-authorize
OAuth2InvalidRefreshToken
  • Message: "Invalid refresh token data"
  • Description: Refresh token data is corrupted or invalid
  • Common Causes: Data corruption, tampering
  • Solution: Re-authorize to get new tokens
OAuth2InvalidScope
  • Message: "Invalid scope data"
  • Description: Scope data is invalid or corrupted
  • Common Causes: Invalid scope format, unauthorized scope request
  • Solution: Request valid scopes only

10. System Errors

StorageError
  • Message: "Storage error: {details}"
  • Description: Error occurred while accessing storage backend
  • Common Causes: Database connection failure, Redis unavailable, network issues
  • Solution: Check storage backend status and connectivity
ConfigError
  • Message: "Configuration error: {details}"
  • Description: Configuration is invalid or missing
  • Common Causes: Missing required config, invalid config values
  • Solution: Review and fix configuration
SerializationError
  • Message: "Serialization error: {details}"
  • Description: Failed to serialize or deserialize data
  • Common Causes: Data structure mismatch, corrupted JSON
  • Solution: Check data format and structure
InternalError
  • Message: "Internal error: {details}"
  • Description: An unexpected internal error occurred
  • Common Causes: Programming error, unexpected state
  • Solution: Report to developers with error details

Summary | 总结

This document provides comprehensive error documentation in Chinese and English for sa-token-rust. Each error includes:

  • Error message
  • Detailed description
  • Common causes
  • Solutions

For developers integrating sa-token-rust, this guide helps understand and handle errors effectively.


Version: 0.1.14
Last Updated: 2026-05-07

Released under the Apache-2.0 / MIT License.