control: a disabled account is refused on every surface !191

merged merged by cmc on 2026-09-03 17:10 UTC · krz/gitbay:disabled-dispatch into main

Discussion

cmc

The SSH listener refused a disabled account, but the API and the web reach Dispatch directly and never checked the flag, and disabling deleted browser sessions while leaving API tokens alive. Dispatch now refuses a disabled account outright, and SetUserDisabled revokes its API tokens along with its sessions, so re-enabling means minting again.

TestDisabledAccountAPI: a token answers before disable, 401 after, still 401 after re-enable, while the account itself is back over ssh.

Closes #95