Files
timebank-cc-public/references/SESSION_SCRIPTS.md
Ronald Huynen 2547717edb Initial commit
2026-03-23 21:37:59 +01:00

79 lines
1.9 KiB
Markdown

# Session Management Scripts
This directory contains utility scripts for managing user sessions in the application.
## Available Scripts
### session-manager.php
Comprehensive session management tool that supports both Redis and Database session drivers.
**List all logged-in sessions:**
```bash
php scripts/session-manager.php list
```
**List sessions for a specific user:**
```bash
php scripts/session-manager.php list [user_id]
```
**Expire all sessions for a user (force logout):**
```bash
php scripts/session-manager.php expire [user_id]
```
**Examples:**
```bash
# View all active sessions
php scripts/session-manager.php list
# View sessions for user 161
php scripts/session-manager.php list 161
# Force logout user 161 from all devices
php scripts/session-manager.php expire 161
```
### expire-user-session.php
Simpler script that only expires sessions (no listing functionality).
**Usage:**
```bash
php scripts/expire-user-session.php [user_id]
```
**Example:**
```bash
# Force logout user 161
php scripts/expire-user-session.php 161
```
## Session Driver Support
Both scripts automatically detect your session driver configuration from `.env`:
- **Database** - Sessions stored in `sessions` table
- **Redis** - Sessions stored in Redis with Laravel prefix
## Use Cases
- Force logout a user from all devices (security incident, password reset, etc.)
- View active sessions for debugging
- Audit user session activity
- Clear stuck sessions
## Technical Details
The scripts:
- Bootstrap the Laravel application to access configuration and database
- Support both `SESSION_DRIVER=database` and `SESSION_DRIVER=redis`
- Parse session data to extract user IDs and profile information
- Safely delete session records to trigger immediate logout
## Notes
- Session deletion takes effect immediately
- Users will be redirected to login on their next request
- Multi-guard sessions (bank/admin profiles) are also cleared