diff --git a/apps/api/src/routes/hls/hls.ts b/apps/api/src/routes/hls/hls.ts index 376d5b6b..6f25d63f 100644 --- a/apps/api/src/routes/hls/hls.ts +++ b/apps/api/src/routes/hls/hls.ts @@ -111,7 +111,7 @@ export const hlsRouter = new Hono() let authorized = false; let denyReason: 'no_token_or_session' | 'token_invalid' | 'session_no_role' | 'asset_missing' = 'no_token_or_session'; - const token = getCookie(c, HLS_COOKIE_NAME); + const token = getCookie(c, `${HLS_COOKIE_NAME}_${assetId}`); if (token) { const verified = await verifyHlsToken(token); if (verified?.assetId === assetId) { diff --git a/apps/api/src/routes/transcripts/transcripts.ts b/apps/api/src/routes/transcripts/transcripts.ts index abee5bd4..e9e0a6ec 100644 --- a/apps/api/src/routes/transcripts/transcripts.ts +++ b/apps/api/src/routes/transcripts/transcripts.ts @@ -70,7 +70,7 @@ export const transcriptsRouter = new Hono() if (!asset) return withCors(null, 404); let authorized = false; - const token = getCookie(c, HLS_COOKIE_NAME); + const token = getCookie(c, `${HLS_COOKIE_NAME}_${assetId}`); if (token) { const verified = await verifyHlsToken(token); if (verified?.assetId === assetId) authorized = true; diff --git a/apps/tenant-router/src/index.ts b/apps/tenant-router/src/index.ts index 65f3f4d4..2cdae88a 100644 --- a/apps/tenant-router/src/index.ts +++ b/apps/tenant-router/src/index.ts @@ -241,7 +241,7 @@ async function handleHlsRequest(request: Request, env: Env): Promise { if (!assetId || !relativePath) return new Response('Not Found', { status: 404 }); if (relativePath.includes('..')) return new Response('Bad Request', { status: 400 }); - const token = readCookie(request.headers.get('cookie'), HLS_COOKIE_NAME); + const token = readCookie(request.headers.get('cookie'), `${HLS_COOKIE_NAME}_${assetId}`); if (!token) return new Response('Unauthorized', { status: 401 }); const verified = await verifyHlsToken(token, env.HLS_SIGNING_SECRET); diff --git a/packages/core/src/services/assets/assets.ts b/packages/core/src/services/assets/assets.ts index 8cd1e335..5ab96b4e 100644 --- a/packages/core/src/services/assets/assets.ts +++ b/packages/core/src/services/assets/assets.ts @@ -714,7 +714,7 @@ export async function mintHlsToken(assetId: string): Promise<{ return { token: `${payload}.${signature}`, expiresAt: new Date(exp * 1000).toISOString(), - cookieName: HLS_COOKIE_NAME, + cookieName: `${HLS_COOKIE_NAME}_${assetId}`, maxAgeSeconds: HLS_COOKIE_TTL_SECONDS }; }