---
type: record
title: 登录注册流程修复
summary: 按用户要求统一邮箱和 GitHub 注册后的用户名密码设置，保留已有账号与会话
capability: capabilities/02-关键词热点.md
criterion: 首次验证身份后选择用户名与密码，完成后进入工作台并能再次登录
result: 未通过
date: 2026-10-07
updated: 2026-10-07
---

# 登录注册流程修复

## 问题与改动

用户反馈各登录注册流程有问题，明确仅通过 GitHub 或邮件注册，注册时需要设置用户名和密码。源码确认 GitHub 新用户跳过设置，邮箱设置页隐藏用户名并提交内部随机值。

现统一 GitHub 首次回跳与邮箱验证后的设置入口，显示空白自选用户名、密码与确认密码；登录页说明已有账号和注册入口。未完成设置访问工作台跳回设置，业务 API 返回 `account_setup_required`，仍允许读取会话和完成身份/凭据验证。保留同源、CSRF、会话撤销及用户名冲突检查，不增加匿名密码注册，不修改已有用户密码。

## 验证

- 追加业务初始化门禁后的单元、架构、认证权限和采集集成共 1650 项通过；业务测试账号改为已完成注册的真实密码哈希，未放宽门禁。
- 前端 950 项测试、lint、类型、格式和生产构建通过；覆盖自选用户名、冲突重试、未完成注册的安全回跳、设置页直接访问及既有账号路径。
- Chrome 当前真实账户已具有有效会话和密码，仍为旧流程随机用户名；没有重建账号或修改凭据。该会话已成功启用来源与创建监控主题。
- 邮件投递、GitHub 新注册及用户亲自输入新密码的整条浏览器流程未重新验收；不能据固定样本测试声称三种真实登录全部修好。桌面/390px 完整状态与 Claude 审查仍待补齐。

## 复核入口

本机 `/login`；已有账号在 `/account` 的基本资料修改用户名。测试：`backend/tests/integration/test_identity_login.py`、`frontend/tests/app/login/`、`frontend/tests/app/account/` 与 `frontend/tests/proxy.test.ts`。全部测试使用独立 `hotkey_test_*` 库并在结束后删除，不使用业务库测试。
