Phase / Priority / Area
Phase 13 · Priority P1 · Area gateway
Зависимости
Blocked by: #7 (предположение)
Scope
services/gateway/cmd/server/main.go:115, services/gateway/internal/middleware/hlsauth.go (new), frontend/src/lib/api.ts
Goal
Приватные видео недоступны подбором UUID.
Acceptance Criteria
Проверки
curl /hls/{private}/master.m3u8 403 без токена / 200 с токеном, curl -I
Out of scope
CDN Cache-Control diff (#9)
Риски
Формат токена JWT vs signed URL — решить
Phase / Priority / Area
Phase 13 · Priority P1 · Area gateway
Зависимости
Blocked by: #7 (предположение)
Scope
services/gateway/cmd/server/main.go:115,services/gateway/internal/middleware/hlsauth.go(new),frontend/src/lib/api.tsGoal
Приватные видео недоступны подбором UUID.
Acceptance Criteria
HLSAuth:GET /hls/{id}/*?token=JWT(video_id,exp 1h)илиAuthorization: Bearer+metadata owner_idcheck;public— пропускprivateбез токена →403, с токеном →200,Cache-Control: privateПроверки
curl /hls/{private}/master.m3u8403 без токена / 200 с токеном,curl -IOut of scope
CDN Cache-Control diff (#9)
Риски
Формат токена JWT vs signed URL — решить