Why: 用户 2026-10-19 确定口径——管理员建号可设或生成初始密码(首登强制改密);忘记密码由管理员生成一次性随机密码(登录后强制改密);若用户想起旧密码并用其登录,一次性密码立即作废且无需改密。该口径取代 IAM U3 中管理员签发凭据/恢复提案/本人证明条款,其余 IAM U3(资料、目录、停用)与超管权威保留。
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.
Why: 用户 2026-10-19 确定口径——管理员建号可设或生成初始密码(首登强制改密);忘记密码由管理员生成一次性随机密码(登录后强制改密);若用户想起旧密码并用其登录,一次性密码立即作废且无需改密。该口径取代 IAM U3 中管理员签发凭据/恢复提案/本人证明条款,其余 IAM U3(资料、目录、停用)与超管权威保留。
Evidence:
POST /api/admin/users/{owner}/one-time-password签发单次哈希 OTP,不覆盖原密码,移除POST /api/admin/users/{owner}/password;R3 初始/OTP 登录得受限会话,中间件只放行/api/me、改密、退出、健康检查;R4 正常密码登录在同一事务内建会话、作废未用 OTP 并删除 OTP 受限会话;R5 待初始化/空 hash 账号经管理员 OTP 初始化,CLI 不再交付alk_Key;R6 移除登录 Key 兑换与恢复提案路由/存储。go test ./internal/store ./internal/server ./cmd/agent-system -count=1全部 ok。Impact: 认证/账号 API 变更:删除恢复提案、登录 Key 兑换与旧重置端点;新增 OTP 端点。需与 Frontend 同名分支 PR 配套,并经 Dev 改钉组合验证后部署(部署与业务验收另行请示)。非阻塞后续:
redeemLoginKey死代码、initialize-account生成被丢弃的激活 Key、登录耗时侧信道。Refs: Dev 任务卡 feature/auth-one-time-password;旧参考分支 origin/feature/auth-one-time-password(仅参考)。