Files
meida_backend/packages/identity
..

packages/identity/ — 账号与会话

职责(架构 §4.1):账号、登录、会话、设备、游客迁移、同意授权记录。 不负责:权益判定(归 billing)。

铁律

identity 不得依赖任何其他业务域(架构 §4.2)—— 登录链路不能被业务拖累。 import-linter 契约 identity must not depend on any other business domain 会 在 CI 拦下违规 import。

已实现

  • id_user / id_user_identity / id_consent 表
  • 外部身份 → 内部 user_id 映射(内部主键与外部身份解耦,便于加登录通道)
  • 同意记录写入
  • JWT access token(packages/shared/security.py)

待实现

需求 内容
FR-ACC-01 华为账号登录(UnionID/OpenID)
FR-ACC-04 手机号验证码登录(5 分钟有效、单号限频)
FR-ACC-05 双令牌:id_session + 服务端可撤销的 refresh token
FR-ACC-02/03 游客模式与数据合并(合并必须幂等)
FR-ACC-08 人脸单独同意页(CR-01:必须独立,不得混入总协议)
FR-ACC-09 账号注销:7 日内彻底删除,含 COS 对象(CR-03)
FR-ACC-11 未成年人判定与功能限制(CR-04)
FR-SYS-01 越权防护:所有资源访问校验归属,不能只靠 ID 不可猜

POST /auth/dev-token 只是脚手架,DEV_AUTH_ENABLED=false 时不可用, 生产环境必须关闭。