Files
Genarrative/backend-rewrite-tasklist/01_M0_M2_FOUNDATION_AND_AUTH.md

19 KiB
Raw Blame History

M0 ~ M2基础设施与鉴权任务清单

M0冻结能力与重写边界

能力冻结

仓库边界

交付物

M1Rust 工作区与 Axum 基础设施

工作区搭建

Axum 基础能力

基础工程脚本

阶段验收

  • Axum 服务可独立启动 证据:./server-rs/scripts/smoke.ps1 已通过,覆盖临时启动 api-server、等待 /healthz 就绪并验证 raw / envelope 协议。
  • /healthz 返回与当前工程兼容
  • 基础 response envelope 与 request id 行为稳定 证据:cargo test -p api-server --manifest-path server-rs/Cargo.toml 已通过,覆盖 envelope 协商与 /healthz 头部回写。
  • Rust workspace 能完整编译通过 证据:cargo check -p api-server --manifest-path server-rs/Cargo.toml 已通过。

SpacetimeDB 身份表

Axum 鉴权服务

手机验证码登录

  • 接入阿里云短信发送 adapter
  • 实现发送验证码接口
  • 实现验证码校验接口
  • 实现手机号绑定
  • 实现手机号换绑
  • 实现发送频率限制
  • 实现验证码失败次数限制
  • 实现 captcha 触发逻辑
  • 实现风控封禁与解除

微信登录

当前执行策略:

  1. 微信登录链路自 2026-04-21 起暂缓执行,不进入当前连续落地顺序。
  2. 相关设计文档继续保留,后续如恢复执行再单独解锁。
  • 接入微信 OAuth adapter
  • 实现 wechat/start
  • 实现 wechat/callback
  • 实现微信身份绑定
  • 实现微信账号补绑手机号
  • 实现桌面端 / 微信内打开场景区分

OIDC 与 SpacetimeDB 身份透传

当前接口兼容

阶段验收

  • 密码登录主链可用 证据:cargo test -p module-auth --manifest-path server-rs/Cargo.tomlcargo test -p api-server --manifest-path server-rs/Cargo.toml 已通过,覆盖自动建号、重复登录复用、错密码 401、非法用户名 400 与 refresh cookie 写回。
  • refresh cookie 主链可用 证据:cargo test -p module-auth --manifest-path server-rs/Cargo.tomlcargo test -p api-server --manifest-path server-rs/Cargo.toml 已通过,覆盖 refresh 成功轮换、旧 token 失效、缺少 cookie 401 与失败时清理 cookie。
  • 手机验证码主链可用
  • 微信登录主链可用 说明:当前按“暂缓执行”处理,不作为当前连续阶段的阻塞项。
  • 所有旧鉴权接口可通过 contract 回归