Source: factory.web/ObjUserSession.py
User session management with JWT token tracking.
Supports multiple session types (web, API, mobile, console) with
automatic expiration, session invalidation, and concurrent session limits.
| Method | Signature | Description |
|---|---|---|
| create_session | create_session(username: str, package: str, session_type: str = 'web', auth_mode: str = 'local', ip_address: Optional[str] = None, user_agent: Optional[str] = None, device_id: Optional[str] = None, device_name: Optional[str] = None) -> Dict[str, Any] |
Create new user session. |
| validate_session | validate_session(session_id: str) -> Optional[Dict[str, Any]] |
Validate session and return session info. |
| invalidate_session | invalidate_session(session_id: str, reason: str = 'User logout', invalidated_by: Optional[str] = None) -> bool |
Invalidate (logout) a session. |
| invalidate_user_sessions | invalidate_user_sessions(username: str, package: str, reason: str = 'Force logout') -> int |
Invalidate all sessions for a user. |
| get_user_sessions | get_user_sessions(username: str, package: str, active_only: bool = True) -> List[Dict[str, Any]] |
Get all sessions for a user. |
| count_concurrent_sessions | count_concurrent_sessions(username: str, package: str, session_type: Optional[str] = None) -> int |
Count active concurrent sessions for a user. |
| cleanup_expired_sessions | cleanup_expired_sessions(days: int = 7) -> int |
Clean up expired/invalidated sessions older than specified days. |
| get_session_metrics | get_session_metrics(package: str) -> Dict[str, Any] |
Get session metrics for monitoring. |