feat(mcp): add account settings web UI for YT instance #123
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/YT-70-account-web-ui"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Give a signed-in local account a self-service settings surface at
/account, the landing page after sign-in. It shows identity, TOTP state, and instance connection state, and hosts the actions a user now owns end to end: change password (gated on the current password), re-enrol or reset TOTP, regenerate recovery codes, connect / test / disconnect the YouTrack instance, and delete the account.Deleting cascades in the database to the instance row, the recovery codes, and every app-issued authorization code / access / refresh token, and clears the stateless session cookie, so no credential outlives the account.
Saving an instance now tests the base URL and token against
GET /api/users/mebefore trusting them, records the resolved login, and storesverified_aton success. A failing test is classified into one of three actionable outcomes (token rejected, host unreachable, or URL not YouTrack) and never surfaces the raw upstream body. The same test is available on demand viaPOST /instance/test. The instance page names where YouTrack mints a token (Profile -> Account Security -> Tokens, YouTrack scope) and mentions neither Hub registration nor an admin scope, since needing neither is why Hub OAuth was dropped.The stored token stays write-only: no template carries a token field, so it is never rendered back. Every handler is scoped to the signed-in account, so one account cannot read, test, or remove another's instance.
#YT-70