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;
37pub mod router;
38pub mod prelude;
39
40pub mod error;
41mod manager;
42
43pub use error::{SaTokenError, SaTokenResult};
44pub use manager::SaTokenManager;
45pub use config::SaTokenConfig;
46pub use util::{StpUtil, LoginId};
47pub use context::SaTokenContext;
48
49// 重新导出核心类型
50pub use token::{TokenInfo, TokenValue, JwtManager, JwtClaims, JwtAlgorithm};
51pub use session::SaSession;
52pub use permission::{PermissionChecker, RoleChecker};
53pub use event::{
54    SaTokenEvent, SaTokenEventType, SaTokenListener, 
55    SaTokenEventBus, LoggingListener
56};
57pub use nonce::NonceManager;
58pub use refresh::RefreshTokenManager;
59pub use oauth2::{OAuth2Manager, OAuth2Client, AuthorizationCode, AccessToken, OAuth2TokenInfo};
60pub use ws::{WsAuthManager, WsAuthInfo, WsTokenExtractor, DefaultWsTokenExtractor};
61pub use online::{OnlineManager, OnlineUser, PushMessage, MessageType, MessagePusher, InMemoryPusher};
62pub use distributed::{
63    DistributedSessionManager, DistributedSession, DistributedSessionStorage,
64    ServiceCredential, InMemoryDistributedStorage
65};
66pub use sso::{
67    SsoServer, SsoClient, SsoManager, SsoTicket, SsoSession, SsoConfig
68};
69pub use router::{match_path, match_any, need_auth, PathAuthConfig};