hm_ai_qc_report_tool/modules
nickviljoen 84326352b2 Phase 1: replace local username/password auth with Azure AD SSO
Lifted JWT-cookie auth pattern from the AI QC sibling project:
  core/auth/middleware.py validates Azure AD JWTs and stores them in
  an httpOnly cookie (hm_aiqc_auth_token). Tenant membership is
  enforced by JWTValidator's tid check, which is sufficient for the
  tenant-wide access policy chosen for this project.

  templates/login.html now drives an MSAL.js popup that POSTs the
  ID token to /auth/login. base.html exposes Azure config to all
  pages so the logout button can also clear the MSAL session.

  app.py's @before_request now checks the JWT cookie and exposes
  g.user; modules read user identity via core.auth.current_user_email
  so usage logs and created_by columns now record the signed-in
  user's email rather than a session value.

  Legacy username/password code removed: top-level auth_middleware.py,
  jwt_validator.py, deploy/generate_password.py.
2026-05-09 13:59:29 +02:00
..
campaigns Phase 1: replace local username/password auth with Azure AD SSO 2026-05-09 13:59:29 +02:00
hm_qc Phase 1: replace local username/password auth with Azure AD SSO 2026-05-09 13:59:29 +02:00
printer_check v2.2.0: Gemini video, batch grouping, thumbnails, speed, price fix, printer check 2026-04-16 13:56:07 +02:00
reporting Reporting: show all jobs in Previous Box Reports 2026-05-01 15:15:58 +02:00
usage Split input/output token tracking; refresh provider pricing table 2026-04-22 14:40:13 +02:00
video_master Phase 1: replace local username/password auth with Azure AD SSO 2026-05-09 13:59:29 +02:00
video_qc Phase 1: replace local username/password auth with Azure AD SSO 2026-05-09 13:59:29 +02:00
__init__.py Add modular architecture, core framework, and web UI 2026-02-25 11:39:04 +02:00