修复 SSE 成员校验未生效的问题
This commit is contained in:
@@ -103,7 +103,13 @@
|
||||
|
||||
## 中优问题(P2)
|
||||
|
||||
### P2-1 SSE 成员校验逻辑未真正启用(前端未传 `userId`)
|
||||
### P2-1 SSE 成员校验逻辑未真正启用(前端未传 `userId`)【已完成】
|
||||
- 修复状态:✅ 已完成(2026-03-03)
|
||||
- 修复内容:
|
||||
- `useRoomPolling` 改为显式接收 `userId`,SSE 连接带上 `?userId=...`;
|
||||
- `room/[id]/page` 传入当前用户 ID;
|
||||
- `GET /api/room/[id]/events` 强制 `userId` 必填并做成员校验(无 userId 返回 401,非成员返回 403);
|
||||
- 更新 hook 测试覆盖 SSE URL 与缺失 userId 场景。
|
||||
- 证据:
|
||||
- `src/app/api/room/[id]/events/route.ts:14-18`(仅在 query 存在 `userId` 时校验)
|
||||
- `src/hooks/useRoomPolling.ts:32`(实际建立 SSE 连接时未携带 `userId`)
|
||||
|
||||
Reference in New Issue
Block a user