1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! # modo::auth::session
//!
//! Unified session management for cookie and JWT transports.
//!
//! v0.8 provides two independent transports that share one SQLite table
//! (`authenticated_sessions`) and one public data type ([`Session`]).
//!
//! ## Transports
//!
//! | Transport | Module | Entry point |
//! |-----------|--------|-------------|
//! | Cookie | [`cookie`] | [`cookie::CookieSessionService`] |
//! | JWT | [`jwt`] | [`jwt::JwtSessionService`] |
//!
//! ## Provides
//!
//! - [`Session`] — transport-agnostic session data extractor (read-only snapshot).
//! - [`SessionToken`] — opaque 32-byte random token; redacted in `Debug`/`Display`.
//! - [`cookie`] — cookie-backed session transport ([`cookie::CookieSession`], [`cookie::CookieSessionService`], [`cookie::CookieSessionLayer`], [`cookie::CookieSessionsConfig`]).
//! - [`jwt`] — JWT-backed session transport ([`jwt::JwtSession`], [`jwt::JwtSessionService`], [`jwt::JwtLayer`], [`jwt::JwtSessionsConfig`]).
//! - [`device`] — user-agent parsing helpers for device classification.
//! - [`fingerprint`] — browser fingerprinting for session hijacking detection.
//! - [`meta`] — request metadata ([`meta::SessionMeta`]) and [`meta::header_str`] helper.
//! - [`token`] — [`SessionToken`] type (also re-exported at this level).
pub
// Primary public data type — transport-agnostic session snapshot.
pub use Session;
pub use Session as SessionData; // alias for back-compat
pub use SessionToken;
// Re-exports from cookie for back-compat during refactor.
pub use SessionState;
pub use ;
// Back-compat: old callers using `auth::session::Session` as the cookie extractor.
// Maps to CookieSession so existing handler signatures keep compiling.
pub use CookieSession as SessionExtractor;
// SessionStore and layer exposed for integration tests only.
pub use layer;
pub use SessionStore;