Skip to main content

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 disable;
39pub mod safe;
40pub mod token_session;
41pub mod stp_interface;
42pub mod stp_logic;
43pub mod prelude;
44
45pub mod error;
46mod manager;
47
48pub use error::{SaTokenError, SaTokenResult};
49pub use manager::SaTokenManager;
50pub use config::{SaTokenConfig, LogoutMode, ReplacedLoginExitMode, ReplacedRange, LogoutRange};
51pub use stp_interface::StpInterface;
52pub use util::{StpUtil, LoginId};
53pub use context::SaTokenContext;
54
55// 重新导出核心类型
56pub use token::{TokenInfo, TokenValue, JwtManager, JwtClaims, JwtAlgorithm};
57pub use session::SaSession;
58pub use session::SaTerminalInfo;
59pub use stp_logic::SaLogic;
60pub use permission::{PermissionChecker, RoleChecker};
61pub use event::{
62    SaTokenEvent, SaTokenEventType, SaTokenListener, 
63    SaTokenEventBus, LoggingListener
64};
65pub use nonce::NonceManager;
66pub use refresh::RefreshTokenManager;
67pub use oauth2::{OAuth2Manager, OAuth2Client, AuthorizationCode, AccessToken, OAuth2TokenInfo};
68pub use ws::{WsAuthManager, WsAuthInfo, WsTokenExtractor, DefaultWsTokenExtractor};
69pub use online::{OnlineManager, OnlineUser, PushMessage, MessageType, MessagePusher, InMemoryPusher};
70pub use distributed::{
71    DistributedSessionManager, DistributedSession, DistributedSessionStorage,
72    ServiceCredential, InMemoryDistributedStorage, SaStorageDistributedStorage
73};
74pub use disable::{
75    DEFAULT_DISABLE_SERVICE, MIN_DISABLE_LEVEL, NOT_DISABLE_LEVEL, DEFAULT_DISABLE_LEVEL,
76};
77pub use safe::{DEFAULT_SAFE_SERVICE, SAFE_AUTH_VALUE};
78pub use sso::{
79    SsoServer, SsoClient, SsoManager, SsoTicket, SsoSession, SsoConfig, CheckTicketResult,
80};
81pub use router::{
82    match_path, match_any, need_auth, PathAuthConfig, extract_token, run_auth_flow, AuthFlowResult,
83};