Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/Checkpoint 2026-09-29 22-47-58 UTC [99329660b1].md
T
memrelay bbfc987165 create: Checkpoint 2026-09-29 22:47:58 UTC [99329660b1]
MemRelay-Operation: checkpoint-save:i1-register-ready-20260930-064800
MemRelay-Resource: ff8132b0-d7c6-429a-998e-dc3ebc8645ab
2026-09-30 06:48:19 +08:00

51 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Checkpoint 2026-09-29 22:47:58 UTC [99329660b1]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-47-58-utc-99329660b1
stable_id: ff8132b0-d7c6-429a-998e-dc3ebc8645ab
scope: project
memory_type: checkpoint
project_id: 25464650-ed5d-440e-b362-190f2852d451
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
status: active
revision: 1
request_id: i1-register-ready-20260930-064800
created_at: '2026-09-29T22:47:58.818501+00:00'
updated_at: '2026-09-29T22:47:58.818501+00:00'
tags:
- ready-to-merge
- i1
- line-I
- feat/i1-register
---
# 检查点:I1 注册接口 ready-to-merge
## 完成内容
- 实现 `POST /api/client/register` 为可挂载 `http.Handler`(`identity.NewRegisterHandler` / `NewServer().Handler()`)。
- 覆盖 DEVELOPMENT 6.9:开关、安全码常量时间比较、IP 锁定、CORS/OPTIONS、4KiB 体、字段规则、`source=self`、日志不含安全码/密码。
- httptest + 临时 SQLite 覆盖 F23 验收;`task check` 通过。
- 写 `docs/DEVIATIONS.md`「身份 I」五条。未改 PRD、cmd、listener。
## 分支 / 路径 / 提交
- 分支:`feat/i1-register`(已推送 origin,未推 main)
- 工作树:`E:/code/NixMsg-wt/i`(基于 origin/main `22c56d1`)
- 提交:`3f6f942` feat: 实现端自助注册 HTTP 接口与 F23 验收测试
## 挂载方式
```go
mux.Handle("/api/client/register", identity.NewRegisterHandler(identity.RegisterConfig{
DB: db, Hash: hashPool, Locks: loginLocks, // P3 实现
}))
```
## 验证
- `task check`:web build、embeddist、golangci-lint 0、go test ./... 含 identity F23
## 没做完
- 未接线到 cmd/listener(等 N/总控)
- 依赖 P3 真实 HashPool/LoginLocks;测试用 StubHashPool + 测试用 register IP 锁定器
- I2–I5 未做;trusted_proxies IP 由接线注入 ClientIP
## 给下个会话
- 可 rebase origin/main 后由总控 ff-merge;勿强推 main;勿改主工作区 e:/code/NixMsg