feat: enforce trusted session identity

This commit is contained in:
Codex
2026-06-28 21:56:11 +08:00
parent 1d873b2e50
commit 523b63c53b
23 changed files with 502 additions and 201 deletions

View File

@@ -15,7 +15,7 @@
| 模块 | 状态 | 说明 |
| --- | --- | --- |
| Supabase/PostgreSQL schema | 可联调 | `supabase/migrations` 已包含多租户、题库、学习、订单、内容、CRM、平台账务等表 |
| RLS/租户隔离 | 迁移期 | 表层普遍有 `tenant_id` 和 RLS 策略,API 目前使用服务端连接,生产前要补真实 JWT/RLS 回归 |
| RLS/租户隔离 | 迁移期 | 表层普遍有 `tenant_id` 和 RLS 策略API 已接入 session 优先身份上下文;生产前继续补 Supabase JWT/RLS 回归 |
| API 分层 | 可联调 | `apps/api/src/core` + `apps/api/src/features/*` |
| Docker API | 可联调 | `docker-compose.api.yml``apps/api/Dockerfile` 可用 |
| 测试 | 可联调 | `npm run check:refactor` 覆盖 TS 检查、导入校验、seed、API 集成测试 |
@@ -36,9 +36,9 @@
| 能力 | 状态 | 说明 |
| --- | --- | --- |
| 短信验证码登录 | 迁移期 | 已有验证码、冷却、hash、登录事件mock provider 可本地联调 |
| 迁移期 session | 迁移期 | `tk_` token hash 存在 `app_private.auth_sessions` |
| 迁移期 session | 迁移期 | `tk_` token hash 存在 `app_private.auth_sessions`,用户态接口已优先解析 bearer session 并拒绝伪造 userId/tenantId |
| 微信/QQ OAuth | 待补齐 | 目前是 placeholder |
| 平台管理员鉴权 | 迁移期 | 当前用 `x-platform-admin-key`生产前必须换 JWT/服务端会话 |
| 平台管理员鉴权 | 迁移期 | `x-platform-admin-key` 已可通过配置禁用;生产前必须换平台管理员 JWT/服务端会话 |
| 租户角色权限 | 可联调 | `tenant_memberships.role + permissions`,接口有权限点校验 |
| 自定义角色模板 | 待补齐 | 当前有权限 JSON 覆盖,缺角色模板、菜单/模块/字段级权限配置 UI/API |
@@ -138,7 +138,7 @@
## 当前验证
最近通过:
最近通过:
```bash
npm audit
@@ -153,4 +153,3 @@ npm run check:refactor
- smoke seed
- API build
- API integration tests