feat: Add optional web interface authentication with session management #58

Merged
sbcrumb merged 1 commits from web-interface-password into dev 2025-10-20 16:24:17 -04:00
Owner

Authentication Features:

  • Optional HTTP Basic Auth with session cookies for web interface protection
  • Configurable username/password with session timeout (default: 1 hour)
  • Selective route protection (web interface protected, webhooks/APIs remain public)
  • Authentication status display with logout functionality in web UI
  • Session cleanup and graceful logout with browser re-authentication prompt

Configuration:

  • WEB_AUTH_ENABLED in .env (default: false - no breaking changes)
  • WEB_AUTH_USERNAME/WEB_AUTH_PASSWORD in .env.secrets
  • WEB_AUTH_SESSION_TIMEOUT configurable (5min-24h range)

Development Tools:

  • Added debug_tv.py for TV series/episode debugging (series, season, episode levels)
  • Comprehensive episode data inspection with validation and sources breakdown
  • Complements existing debug_movie.py for complete media debugging coverage

Technical Implementation:

  • SimpleAuthMiddleware with FastAPI integration
  • Session management with automatic cleanup
  • Authentication status API endpoints
  • Responsive CSS styling for auth UI elements
  • JavaScript functions for auth checking and logout
Authentication Features: - Optional HTTP Basic Auth with session cookies for web interface protection - Configurable username/password with session timeout (default: 1 hour) - Selective route protection (web interface protected, webhooks/APIs remain public) - Authentication status display with logout functionality in web UI - Session cleanup and graceful logout with browser re-authentication prompt Configuration: - WEB_AUTH_ENABLED in .env (default: false - no breaking changes) - WEB_AUTH_USERNAME/WEB_AUTH_PASSWORD in .env.secrets - WEB_AUTH_SESSION_TIMEOUT configurable (5min-24h range) Development Tools: - Added debug_tv.py for TV series/episode debugging (series, season, episode levels) - Comprehensive episode data inspection with validation and sources breakdown - Complements existing debug_movie.py for complete media debugging coverage Technical Implementation: - SimpleAuthMiddleware with FastAPI integration - Session management with automatic cleanup - Authentication status API endpoints - Responsive CSS styling for auth UI elements - JavaScript functions for auth checking and logout
sbcrumb added 1 commit 2025-10-20 16:24:07 -04:00
feat: Add optional web interface authentication with session management
Local Docker Build (Dev) / build-dev (pull_request) Successful in 3s
c66c19dc59
Authentication Features:
  - Optional HTTP Basic Auth with session cookies for web interface protection
  - Configurable username/password with session timeout (default: 1 hour)
  - Selective route protection (web interface protected, webhooks/APIs remain public)
  - Authentication status display with logout functionality in web UI
  - Session cleanup and graceful logout with browser re-authentication prompt

  Configuration:
  - WEB_AUTH_ENABLED in .env (default: false - no breaking changes)
  - WEB_AUTH_USERNAME/WEB_AUTH_PASSWORD in .env.secrets
  - WEB_AUTH_SESSION_TIMEOUT configurable (5min-24h range)

  Development Tools:
  - Added debug_tv.py for TV series/episode debugging (series, season, episode levels)
  - Comprehensive episode data inspection with validation and sources breakdown
  - Complements existing debug_movie.py for complete media debugging coverage

  Technical Implementation:
  - SimpleAuthMiddleware with FastAPI integration
  - Session management with automatic cleanup
  - Authentication status API endpoints
  - Responsive CSS styling for auth UI elements
  - JavaScript functions for auth checking and logout
sbcrumb merged commit 57122769df into dev 2025-10-20 16:24:17 -04:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sbcrumb/nfoguard#58