Admin-issued accounts R2: gitlinks + task card #43

Merged
weichen merged 4 commits from feature/auth-admin-accounts into main 2026-09-30 11:17:31 +00:00
Owner

Why

R2 认证按 2026-09-30 用户裁定实施管理员发放制:无自助注册;账号仅管理员(或 CLI 引导)创建并设定初始密码;创建后与重置后的首次登录均强制改密。

改动(本仓指针与任务卡)

  • backend → 9a545b1(迁移 v10 auth_accounts;/api/auth/login|logout|password;/api/admin/users*;argon2id;登录失败退避;中间件 Bearer 密钥或会话 cookie、豁免静态与登录入口;CLI user create|reset-password|list;PR #17 已合)
  • frontend → 1d6b8a6(登录页双 tab、强制改密门、账户菜单改密、管理员用户管理弹层;修复 setState 更新器内 currentTarget 被置空导致菜单不渲染的真实缺陷;PR #12 已合)
  • documents → 924c303(提案记录裁定与 R2 交付;PR #19 已合)

Evidence

  • make test 全量通过(tavily-search 中途合入,backend/documents 已变基;EXIT=0)
  • 后端 e2e TestAdminAccountFlow:静态页可达、401/429、会话 cookie、建号 409 重名、非管理员 403、强制改密生命周期、重置吊销会话、API key 兼容、登出
  • 无头全流程(真实二进制 --auth on):CLI 引导 admin → 首登强制改密 → 进入;管理员建 bob(bob 无用户管理入口);CLI 重置 alice → 再首登强制改密;API 密钥 tab 登录;登出;零控制台错误

Impact

认证开启的部署获得密码登录与管理员账号管理;嵌入式无认证档行为不变。剩余:R3 orgs/memberships 多租户成员、R4 视觉令牌收敛。

## Why R2 认证按 2026-09-30 用户裁定实施**管理员发放制**:无自助注册;账号仅管理员(或 CLI 引导)创建并设定初始密码;创建后与重置后的首次登录均强制改密。 ## 改动(本仓指针与任务卡) - backend → 9a545b1(迁移 v10 auth_accounts;/api/auth/login|logout|password;/api/admin/users*;argon2id;登录失败退避;中间件 Bearer 密钥或会话 cookie、豁免静态与登录入口;CLI user create|reset-password|list;PR #17 已合) - frontend → 1d6b8a6(登录页双 tab、强制改密门、账户菜单改密、管理员用户管理弹层;修复 setState 更新器内 currentTarget 被置空导致菜单不渲染的真实缺陷;PR #12 已合) - documents → 924c303(提案记录裁定与 R2 交付;PR #19 已合) ## Evidence - make test 全量通过(tavily-search 中途合入,backend/documents 已变基;EXIT=0) - 后端 e2e TestAdminAccountFlow:静态页可达、401/429、会话 cookie、建号 409 重名、非管理员 403、强制改密生命周期、重置吊销会话、API key 兼容、登出 - 无头全流程(真实二进制 --auth on):CLI 引导 admin → 首登强制改密 → 进入;管理员建 bob(bob 无用户管理入口);CLI 重置 alice → 再首登强制改密;API 密钥 tab 登录;登出;零控制台错误 ## Impact 认证开启的部署获得密码登录与管理员账号管理;嵌入式无认证档行为不变。剩余:R3 orgs/memberships 多租户成员、R4 视觉令牌收敛。
weichen added 4 commits 2026-09-30 11:17:29 +00:00
Why: R2 spans backend (migration v10, auth/session APIs, CLI user
subcommands), frontend (login page, forced change gate, admin user
management), documents (decision record).

Evidence: make test full suite green on this head (exit 0); headless
journey on the real binary with --auth on covers admin bootstrap,
first-login forced change for created and reset passwords, non-admin
menu gating, API-key login, logout.

Impact: auth-enabled deployments gain password login and admin account
management; embedded no-auth mode unchanged. Merge order: backend ->
frontend -> documents -> this PR.

Refs: proposal 2026-09-30-ui-redesign-and-auth.md (R2 admin-issued)
Advance frontend pin to merged PR #12 head
ci / test (pull_request) Failing after 30s
66eae89017
weichen merged commit 2f319ca0f5 into main 2026-09-30 11:17:31 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Dev#43