;s;
This commit is contained in:
55
docs/AUTH_PAYMENT_VIP_CHECK_REPORT.md
Normal file
55
docs/AUTH_PAYMENT_VIP_CHECK_REPORT.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# 登录/支付/VIP 权限检查报告
|
||||
|
||||
检查范围:digital、cnomadcna、nomadvip、payjsapi
|
||||
|
||||
## 一、登录流程
|
||||
|
||||
| 项目 | /api/auth/me | /api/auth/sync-session | /api/auth/logout | credentials |
|
||||
|------|--------------|------------------------|------------------|-------------|
|
||||
| digital | ✅ 读 pb_session,refresh 回写 | ✅ 设置 Cookie | ✅ 清除 Cookie | ✅ include |
|
||||
| cnomadcna | ✅ | ✅ | ✅ | ✅ AuthModal/JoinModal |
|
||||
| nomadvip | ✅ | ✅ | ✅ | ✅ AuthForm |
|
||||
|
||||
**Cookie domain:**
|
||||
- digital:已用 `getAuthCookieDomain(request)`,localhost 不设 domain
|
||||
- cnomadcna:已改为 `getAuthCookieDomain`,localhost 兼容
|
||||
- nomadvip:已改为 `getAuthCookieDomain`,localhost 兼容
|
||||
|
||||
## 二、支付流程
|
||||
|
||||
| 项目 | 前端入口 | Next.js API | payjsapi 路径 | site_id |
|
||||
|------|----------|-------------|---------------|---------|
|
||||
| digital | join 页 / Roadmap | /api/pay | /digital/payh5 | digital |
|
||||
| cnomadcna | HeroSection JoinModal | /api/pay | /cnomadcna/payh5 | meetup |
|
||||
| nomadvip | 支付页 | 直接调 payjsapi | /nomadvip/payh5 | vip |
|
||||
|
||||
**payjsapi 回调:**
|
||||
- digital/cnomadcna:`_digital_base`,xorpay_notify / zpay_notify → `handle_payment_success` → site_vip
|
||||
- nomadvip:xorpay_notify / zpay_notify → `handle_payment_success` → site_vip
|
||||
- meetup 类型:effective_site_id 固定为 "meetup"
|
||||
- vip 类型:effective_site_id 为 "vip"
|
||||
|
||||
## 三、VIP 权限
|
||||
|
||||
| 项目 | SITE_ID | VIP 校验逻辑 |
|
||||
|------|---------|--------------|
|
||||
| digital | digital | site_id=digital 或 site_id=vip |
|
||||
| cnomadcna | meetup | site_id=meetup |
|
||||
| nomadvip | vip | site_id=vip |
|
||||
|
||||
**site_vip 表:** user_id + site_id + order_id + expires_at
|
||||
|
||||
## 四、环境变量
|
||||
|
||||
| 变量 | 说明 |
|
||||
|------|------|
|
||||
| AUTH_COOKIE_DOMAIN | 生产环境根域,如 .hackrobot.cn |
|
||||
| POCKETBASE_EMAIL / POCKETBASE_PASSWORD | VIP 查询用 admin |
|
||||
| PAYMENT_API_URL | payjsapi 地址,如 https://api.hackrobot.cn |
|
||||
| NEXT_PUBLIC_POCKETBASE_URL | PocketBase 地址 |
|
||||
| NEXT_PUBLIC_SITE_ID | digital / meetup / vip |
|
||||
|
||||
## 五、本次修复
|
||||
|
||||
1. **cnomadcna**:auth/me、sync-session、logout 改用 `getAuthCookieDomain`,支持 localhost
|
||||
2. **nomadvip**:同上,新增 `app/lib/auth-cookie-domain.ts`
|
||||
Reference in New Issue
Block a user