sa_token_core/
lib.rs

1// Author: 金书记
2//
3//! # sa-token-core
4//! 
5//! sa-token-rust 的核心库,提供与框架无关的认证授权功能
6//! 
7//! ## 主要功能
8//! 
9//! - Token 管理:生成、验证、刷新
10//! - Session 管理:会话存储与管理
11//! - 权限验证:基于角色/权限的访问控制
12//! - 账号管理:登录、登出、踢人下线、封禁等
13//! 
14//! ## 使用示例
15//! 
16//! ```rust,ignore
17//! use sa_token_core::SaTokenManager;
18//! 
19//! let manager = SaTokenManager::new(storage, config);
20//! let token = manager.create_token("user_123").await?;
21//! ```
22
23pub mod token;
24pub mod session;
25pub mod permission;
26pub mod context;
27pub mod config;
28pub mod util;
29pub mod event;
30pub mod nonce;
31pub mod refresh;
32pub mod oauth2;
33pub mod ws;
34pub mod online;
35pub mod distributed;
36pub mod sso;
37
38mod error;
39mod manager;
40
41pub use error::{SaTokenError, SaTokenResult};
42pub use manager::SaTokenManager;
43pub use config::SaTokenConfig;
44pub use util::{StpUtil, LoginId};
45pub use context::SaTokenContext;
46
47// 重新导出核心类型
48pub use token::{TokenInfo, TokenValue, JwtManager, JwtClaims, JwtAlgorithm};
49pub use session::SaSession;
50pub use permission::{PermissionChecker, RoleChecker};
51pub use event::{
52    SaTokenEvent, SaTokenEventType, SaTokenListener, 
53    SaTokenEventBus, LoggingListener
54};
55pub use nonce::NonceManager;
56pub use refresh::RefreshTokenManager;
57pub use oauth2::{OAuth2Manager, OAuth2Client, AuthorizationCode, AccessToken, OAuth2TokenInfo};
58pub use ws::{WsAuthManager, WsAuthInfo, WsTokenExtractor, DefaultWsTokenExtractor};
59pub use online::{OnlineManager, OnlineUser, PushMessage, MessageType, MessagePusher, InMemoryPusher};
60pub use distributed::{
61    DistributedSessionManager, DistributedSession, DistributedSessionStorage,
62    ServiceCredential, InMemoryDistributedStorage
63};
64pub use sso::{
65    SsoServer, SsoClient, SsoManager, SsoTicket, SsoSession, SsoConfig
66};