Binds token and passkey sessions to the immutable Gitea user ID resolved at sign-in. Protected requests fail closed before handlers when the process credential changes account, while same-user token rotation remains seamless. Legacy sessions lock for reauthentication; private browser work is preserved. Identity lookup outages return a retryable 503.
Closes #1372
Binds token and passkey sessions to the immutable Gitea user ID resolved at sign-in. Protected requests fail closed before handlers when the process credential changes account, while same-user token rotation remains seamless. Legacy sessions lock for reauthentication; private browser work is preserved. Identity lookup outages return a retryable 503.
Tests: `pytest -q` (2612 passed, 21 skipped). Frontend core: 102399/102400 gzip bytes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #1372
Binds token and passkey sessions to the immutable Gitea user ID resolved at sign-in. Protected requests fail closed before handlers when the process credential changes account, while same-user token rotation remains seamless. Legacy sessions lock for reauthentication; private browser work is preserved. Identity lookup outages return a retryable 503.
Tests:
pytest -q(2612 passed, 21 skipped). Frontend core: 102399/102400 gzip bytes.