Skip to content

Token styles

English | 中文

TokenStyle controls how login tokens are generated. Default is Uuid. JWT needs a secret — see the JWT guide.

Configuration

rust
use sa_token_core::config::{SaTokenConfig, TokenStyle};
use sa_token_storage_memory::MemoryStorage;
use std::sync::Arc;

let manager = SaTokenConfig::builder()
    .storage(Arc::new(MemoryStorage::new()))
    .token_style(TokenStyle::Random64)
    .try_build()?;

TokenStyle enum

VariantMeaning
UuidStandard UUID (default)
SimpleUuidUUID without hyphens
Random3232-char CSPRNG
Random6464-char CSPRNG
Random128128-char CSPRNG
JwtJSON Web Token; jwt_secret_key required or try_build fails
HashSHA256 derived from login_id
TimestampMillisecond timestamp + random suffix
TikShort 8-character token
rust
SaTokenConfig::builder()
    .storage(storage)
    .token_style(TokenStyle::Jwt)
    .jwt_secret_key("change-me-to-a-long-secret")
    .try_build()?;

Opaque styles (Random* / Tik / Timestamp) fit classic session tokens. Use Jwt when you need self-contained claims across services. Hash is derived from login_id — watch collisions and predictability under multi-device login.

MIT OR Apache-2.0