51cb05f418
Project CI / AI game creator shell Rust crates (push) Successful in 5m56s
Project CI / AI game creator shell Rust lane 2/2 (push) Successful in 6m36s
Project CI / AI game creator shell Rust lane 1/2 (push) Successful in 7m37s
Project CI / Backend tests (push) Successful in 9m22s
Project CI / Frontend tests (push) Successful in 4m40s
Project CI / AI game creator shell web tests (push) Successful in 3m50s
Project CI / Repository checks (push) Successful in 6m30s
Project CI / Native shell tests (push) Successful in 8m32s
本 PR 补齐创作者主页与关注粉丝功能的产品合同和工程设计,供后续按里程碑实施;本次只修改文档。 桌面导航第四项进入自己的创作者主页,“我的”移到第五项。游戏详情可进入作者主页并关注/取消关注;自己或他人的关注、粉丝列表均公开可查看,点击用户头像或昵称可进入其主页。本人支持取消/重新关注、回关和移除粉丝,并明确两个关注方向独立。 工程设计包含关系表与 DTO、认证和事务边界、跨页状态同步、共享组件、深链及验收要求,拆分关系查询和页面交互两个里程碑。按用户要求,游戏列表沿用最多 48 项的现有限制,不增加游戏目录分页改造。 验证: - 已合入最新 origin/master(21c79f54a);共享决策记录冲突保留双方新增内容。 - npm run check:encoding 通过。 - npm run check:doc-index 通过。 - git diff --check 与暂存差异检查通过。 - 相对 master 仅六份文档发生变化;没有业务代码或 schema 修改,未执行业务测试或部署。 Reviewed-on: #638 Co-authored-by: Linghong <ink29535@proton.me> Co-committed-by: Linghong <ink29535@proton.me>
module-auth 鉴权模块 crate 说明
日期:2026-04-21
1. crate 职责
module-auth 是鉴权与会话模块 crate,当前与后续负责:
- 用户身份、会话、风控、审计相关领域模型。
- 手机验证码、微信登录、密码登录的模块内用例编排。
- 与
crates/api-server的鉴权接口装配对接。 - 与
crates/spacetime-module的身份表、会话表聚合对接。
2. 当前阶段说明
当前阶段已经冻结前七张鉴权基础表设计,并已完成:
- JWT claims 设计与
platform-auth落地。 - refresh cookie 读取适配。
module-auth真实 crate 与首版密码登录用例落地。WP-A AuthDDD 分层收口,账号、会话、验证码、微信 state/绑定规则、命令输入、应用返回、领域错误和领域事件已归位到domain / commands / application / errors / events。api-server / platform-auth / spacetime-module认证边界已核查:真实短信、微信 OAuth、JWT、cookie 和密码哈希仍由平台层或 BFF 装配承接,SpacetimeDB 侧只保留快照与表适配。
当前已覆盖的鉴权用例:
- 密码登录
- refresh token 轮换
me查询- 会话吊销
- 手机验证码登录
- 微信登录 state 创建/消费
- 微信身份解析与手机号绑定
当前文档入口
当前长期工程口径已融合到:
- ../../../docs/【后端架构】server-rs与SpacetimeDB数据契约-2026-05-15.md
- ../../../docs/【玩法创作】平台入口与玩法链路-2026-05-15.md
- ../../../docs/【开发运维】本地开发验证与生产运维-2026-05-15.md
旧阶段设计文档不再作为实现依据。
4. 边界约束
module-auth负责鉴权领域规则与模块级编排,不直接把供应商 SDK 或阿里云 RPC 逻辑写进主工程。- 短信、微信、JWT、Cookie、密码哈希等平台适配优先通过
crates/platform-auth承接。 - 身份与会话状态最终由
crates/spacetime-module聚合,前端接口由crates/api-server暴露。 - 当前阶段允许先使用进程内适配器把用例跑通,但后续切到
SpacetimeDB时应保持用例接口稳定。 - 当前
PasswordEntryService已承接用户名校验、密码哈希校验、自动建号与重复登录复用逻辑。 - 当前
PasswordEntryService已提供按user_id查询当前用户快照的能力,供/api/auth/me复用。 - 当前
module-auth已承接进程内 refresh session 创建与轮换能力,供/api/auth/refresh复用。 - 当前
module-auth已承接当前 refresh session 吊销与用户token_version递增能力,供/api/auth/logout复用。 - 当前手机号验证码真实 provider 由
platform-auth注入,module-auth只保留冷却、TTL、失败次数和账号编排,不保存验证码明文。 - 当前
lib.rs仍保留进程内仓储和文件持久化支撑,但不再继续拥有命令、结果、错误、事件和纯领域值对象定义。