towerops/lib/towerops_web
Graham McIntire 9ff9c4ddc8
fix: address UserSudoController critical issues
Critical fixes:
- Renamed controller actions to follow Phoenix conventions (verify→new, create→verify)
- Added sudo mode check in GET action using last_sudo_at timestamp
- Added TOTP enrollment check in GET action with redirect
- Changed default return path from /orgs to /users/settings
- Updated route paths from /users/sudo/verify to /users/sudo-verify (dash separator)
- Added success flash message "Identity verified."

Implementation details:
- new/2 (GET): Checks recently_verified_sudo?/1 helper that examines last_sudo_at
  instead of authenticated_at to distinguish sudo verification from regular login
- verify/2 (POST): Adds info flash and defaults to /users/settings
- recently_verified_sudo?/1: Private helper checking last_sudo_at within 10 minutes
- Updated all routes, templates, and tests to use new paths and action names

Tests:
- Added tests for already-in-sudo-mode redirect behavior
- Added test for TOTP enrollment requirement
- Updated all test assertions for new route paths and success messages
- All 15 controller tests passing
- Full test suite passing (4076 tests, 0 failures)
2026-02-01 14:45:05 -06:00
..
channels agent overhaul 2026-01-30 16:05:23 -06:00
components paginate audit logs 2026-02-01 13:27:56 -06:00
controllers fix: address UserSudoController critical issues 2026-02-01 14:45:05 -06:00
helpers test improvements 2026-01-18 17:15:44 -06:00
live show cloud poller device count 2026-02-01 13:41:01 -06:00
plugs Use detected timezone from session in user registration 2026-02-01 12:18:33 -06:00
endpoint.ex Move CaptureTimezone plug to browser pipeline 2026-02-01 11:15:51 -06:00
gettext.ex init 2025-12-21 11:10:43 -06:00
router.ex fix: address UserSudoController critical issues 2026-02-01 14:45:05 -06:00
telemetry.ex fix: add Oban config to dev.exs and replace Exq telemetry with Oban 2026-01-24 16:39:45 -06:00
user_auth.ex feat: implement sudo mode MFA-only verification controller 2026-02-01 14:34:17 -06:00