Expand description
Session management for Kit framework
Provides Laravel-like session handling with database storage.
§Features
- Secure session cookies (HttpOnly, Secure, SameSite)
- Database-backed storage for scalability
- CSRF token generation per session
- Flash messages for one-time notifications
- Session data stored as JSON
§Example
ⓘ
use kit::session::{session, session_mut};
// Read from session
if let Some(s) = session() {
let name: Option<String> = s.get("name");
}
// Write to session
session_mut(|s| {
s.put("name", "John");
s.flash("success", "Item saved!");
});§Setup
Add the SessionMiddleware to your bootstrap:
ⓘ
use kit::{global_middleware, SessionMiddleware, SessionConfig};
pub async fn register() {
let config = SessionConfig::from_env();
global_middleware!(SessionMiddleware::new(config));
}Re-exports§
pub use config::SessionConfig;pub use driver::DatabaseSessionDriver;pub use middleware::auth_user_id;pub use middleware::clear_auth_user;pub use middleware::clear_session;pub use middleware::generate_csrf_token;pub use middleware::generate_session_id;pub use middleware::get_csrf_token;pub use middleware::invalidate_session;pub use middleware::is_authenticated;pub use middleware::regenerate_session_id;pub use middleware::session;pub use middleware::session_mut;pub use middleware::set_auth_user;pub use middleware::set_session;pub use middleware::take_session;pub use middleware::SessionMiddleware;pub use store::SessionData;pub use store::SessionStore;
Modules§
- config
- Session configuration
- driver
- Session storage drivers
- middleware
- Session middleware for Kit framework
- store
- Session storage abstraction