feat: prefer supabase jwt in taro api client

This commit is contained in:
Codex
2026-06-30 01:36:04 +08:00
parent 25d1b8e796
commit 3bd2ac1799
12 changed files with 220 additions and 36 deletions

View File

@@ -146,10 +146,15 @@ ALLOW_LEGACY_AUTH_HEADERS=false
ALLOW_PLATFORM_ADMIN_KEY=false
```
H5 正式回归时建议把前端登录态切到 Supabase Auth并观察业务接口请求是否都发送 `Bearer <supabase_access_token>``tk_` session 只作为迁移/本地兜底,不应成为线上长期依赖。
## 前端请求边界
- 所有页面统一通过 `apps/taro/src/services/api.ts` 调用后端。
- 默认请求模式是 `authMode='auto'`H5 先用 Supabase JWT没有 JWT 才兜底迁移期 `tk_` session。
- 公共接口、短信登录、租户解析必须显式 `authMode='none'`;平台全局或租户解析不应带租户上下文时必须显式 `tenantId: null`
- H5 可以用 Supabase client 管理 Auth session/JWT但业务数据默认走 `apps/api`
- 页面代码不能通过 `headers` 覆盖 `Authorization``x-tenant-id`,身份和租户上下文只能走统一 client 的 token provider、`authMode``tenantId` 参数。
- 订单、支付、权益、内容导入、后台配置、CRM、对象存储签名、视频播放签名必须走后端命令层。
- 登录后禁止传 `x-user-id` 或 body/query `userId` 表示当前用户。
- 私有 PDF、图片、视频不能由前端拼接 URL必须使用 `content_assets` 和后端短签名。