Skip to main content

Crate sa_token_core

Crate sa_token_core 

Source
Expand description

§sa-token-core

sa-token-rust 的核心库,提供与框架无关的认证授权功能

§主要功能

  • Token 管理:生成、验证、刷新
  • Session 管理:会话存储与管理
  • 权限验证:基于角色/权限的访问控制
  • 账号管理:登录、登出、踢人下线、封禁等

§使用示例

use sa_token_core::SaTokenManager;
 
let manager = SaTokenManager::new(storage, config);
let token = manager.create_token("user_123").await?;

Modules§

config
配置模块
context
上下文模块 - 用于在请求处理过程中传递 token 信息
disable
账号/服务封禁(对齐 Java StpLogic.disable/checkDisable)
distributed
Distributed Session Management Module | 分布式 Session 管理模块
event
Event Listener Module | 事件监听模块
nonce
Nonce Manager | Nonce 管理器
oauth2
OAuth2 Authorization Code Flow Implementation | OAuth2 授权码模式实现
online
Online User Management and Real-time Push Module | 在线用户管理和实时推送模块
permission
权限验证模块
prelude
refresh
Refresh Token Module | Refresh Token 模块
router
safe
二级认证(对齐 Java StpLogic.openSafe/checkSafe/isSafe)
session
Session 管理模块
sso
SSO 单点登录模块 | SSO Single Sign-On Module
stp_interface
权限/角色/封禁数据源回调(对齐 Java StpInterface)
stp_logic
多账号体系:SaLogic(对齐 Java StpLogic 实例)+ 全局注册表。
token
Token 管理模块
token_session
Token-Session 双轨(独立于 Account-Session)
util
StpUtil - sa-token 便捷工具类
ws
WebSocket Authentication Module | WebSocket 认证模块

Structs§

AccessToken
Access Token Response | 访问令牌响应
AuthFlowResult
Outcome of run_auth_flow; bindings copy token/login_id/context into framework-specific storage (extensions, depot, etc.). run_auth_flow 的返回结果;各框架绑定把 token / login_id / context 写入自身存储(extensions、Depot 等)。
AuthorizationCode
Authorization Code | 授权码
CheckTicketResult
SSO 票据校验结果(对齐 Java checkTicket 返回)
DefaultWsTokenExtractor
Default token extractor implementation 默认的 Token 提取器实现
DistributedSession
Distributed session data structure 分布式 Session 数据结构
DistributedSessionManager
Distributed session manager 分布式 Session 管理器
InMemoryDistributedStorage
In-memory distributed session storage implementation 内存分布式 Session 存储实现
InMemoryPusher
In-memory message pusher implementation 内存消息推送器实现
JwtClaims
JWT Claims | JWT 声明
JwtManager
JWT Manager | JWT 管理器
LoggingListener
简单的日志监听器示例
NonceManager
Nonce Manager | Nonce 管理器
OAuth2Client
OAuth2 Client Information | OAuth2 客户端信息
OAuth2Manager
OAuth2 Manager | OAuth2 管理器
OAuth2TokenInfo
OAuth2 Token Information (for storage) | OAuth2 令牌信息(用于存储)
OnlineManager
Online user manager 在线用户管理器
OnlineUser
Online user information 在线用户信息
PathAuthConfig
Path-based authentication configuration 基于路径的鉴权配置
PushMessage
Push message structure 推送消息结构
RefreshTokenManager
Refresh Token Manager | Refresh Token 管理器
SaLogic
绑定某一 login_type 的账号逻辑门面
SaSession
Session 对象 | Session Object
SaStorageDistributedStorage
基于 SaStorage 的分布式 Session 存储实现 把分布式 Session、登录索引、服务凭证统一持久化到任意 SaStorage 后端(Redis / 内存 / 数据库)
SaTerminalInfo
登录设备终端信息
SaTokenConfig
sa-token 配置
SaTokenContext
sa-token 上下文 | sa-token Context
SaTokenEvent
事件数据
SaTokenEventBus
事件总线 - 管理所有监听器并分发事件
SaTokenManager
sa-token 管理器
ServiceCredential
Service credential for inter-service authentication 服务间认证的服务凭证
SsoClient
SSO 客户端 | SSO Client
SsoConfig
SsoManager
SsoServer
SSO 服务端 | SSO Server
SsoSession
SSO 全局会话 | SSO Global Session
SsoTicket
SSO 票据结构 | SSO Ticket Structure
StpUtil
StpUtil - 权限认证工具类
TokenInfo
Token 信息 | Token Information
TokenValue
Token 值
WsAuthInfo
WebSocket authentication information WebSocket 认证信息
WsAuthManager
WebSocket authentication manager WebSocket 认证管理器

Enums§

JwtAlgorithm
JWT Algorithm | JWT 算法
LogoutMode
下线模式(对齐 Java SaLogoutMode)
LogoutRange
logout 范围(预留)
MessageType
Message type enumeration 消息类型枚举
ReplacedLoginExitMode
非并发顶号时踢旧或拒新
ReplacedRange
顶号影响范围
SaTokenError
SaTokenEventType
事件类型

Constants§

DEFAULT_DISABLE_LEVEL
默认写入封禁等级(对齐 Java DEFAULT_DISABLE_LEVEL
DEFAULT_DISABLE_SERVICE
默认封禁服务标识(对齐 Java DEFAULT_DISABLE_SERVICE
DEFAULT_SAFE_SERVICE
默认二级认证业务标识(对齐 Java DEFAULT_SAFE_AUTH_SERVICE
MIN_DISABLE_LEVEL
最低封禁等级(对齐 Java MIN_DISABLE_LEVEL
NOT_DISABLE_LEVEL
未封禁时的等级返回值(对齐 Java NOT_DISABLE_LEVEL
SAFE_AUTH_VALUE
二级认证存储标记值

Traits§

DistributedSessionStorage
Distributed session storage trait 分布式 Session 存储 trait
LoginId
LoginId trait - 支持任何可以转换为字符串的类型作为登录 ID
MessagePusher
Message pusher trait 消息推送器 trait
PermissionChecker
权限检查器 | Permission Checker
RoleChecker
角色检查器 | Role Checker
SaTokenListener
事件监听器 trait | Event Listener Trait
StpInterface
权限、角色、封禁数据回调
WsTokenExtractor
Token extractor trait for WebSocket connections WebSocket 连接的 Token 提取器 trait

Functions§

extract_token
Generic token extraction from any SaRequest implementation. 从任意 SaRequest 实现中按统一顺序提取 Token。
match_any
Check if path matches any pattern in the list 检查路径是否匹配列表中的任意模式
match_path
Match a path against a pattern (Ant-style wildcard) 匹配路径与模式(Ant 风格通配符)
need_auth
Determine if authentication is needed for a path 判断路径是否需要鉴权
run_auth_flow
Full auth pipeline: extract_token → optional PathAuthConfig via process_auth, else default check → create_context. 完整鉴权流水线:extract_token → 若有 PathAuthConfigprocess_auth,否则默认校验 → create_context

Type Aliases§

SaTokenResult